解决:继承ServletRequestListener 接口,实现request
ublic class MyHttpSessionListener implements HttpSessionListener,ServletRequestListener {
private HttpServletRequest request;
@Override
public void requestInitialized(ServletRequestEvent event) {
request = (HttpServletRequest) event.getServletRequest();
}
@Override
public void sessionCreated(HttpSessionEvent httpSessionEvent) {
log.info("session created");
httpSessionEvent.getSession().setAttribute("ip", request.getRemoteHost());
}
@Override
public void sessionDestroyed(HttpSessionEvent httpSessionEvent) {
log.info("session destroyed");
String ip = String.valueOf(httpSessionEvent.getSession().getAttribute("ip"));
String userName = "unKnown";
try {
userName = SecurityUtil.getUserName();
} catch (Exception e) {
log.error("exit get username error");
}
LogManager.me().executeLog(LogTaskFactory.exitLog(userName, ip));
}
}