今天上班接着往下进行项目,后来发现出现了难点
需求: 获得用户登录的ip地址
网上查了很多 最后决定用HttpRequest.getRemoteAddr(); //本人技术有限 刚刚工作一个月 所以暂时不考虑用户使用了能够更换ip的软件
但是难点在于项目是 基于cxf的webService开发 前台是flex 没有使用到servlet(可能底层存在servlet)
所以不太好获取HttpRequest 我选择使用创建监听器进行获取HttpRequest
声明一个类:
public class SystemSessionListener implements HttpSessionListener,ServletRequestListener{
@Override
public
void sessionCreated(HttpSessionEvent event) {
}
@Override
public void
sessionDestroyed(HttpSessionEvent event) {
}
@Override
public void
requestDestroyed(ServletRequestEvent event) {
//TODO
request消失的方法
}
@Override
public void
requestInitialized(ServletRequestEvent event) {
}
}
这个类实现了 HttpSessionListener,ServletRequestListener
HttpSessionListener 是用来监听每一个session的创建和销毁,ServletRequestListener 是用来监听每一个HttpRequest 的创建和销毁