application Java Web HttpServletRequest dans un HttpSessionListener
-
08-10-2019 - |
Question
Je suis en train d'utiliser un HttpSessionListener pour vérifier un cookie et obtenir l'adresse IP de la demande.
Mais je n'ai pas accès à l'HttpServletRequest chez l'auditeur de passer à STKUserCookie ou pour obtenir l'adresse IP.
public STKUserCookie(HttpServletRequest request)
public void sessionCreated(HttpSessionEvent se) {
HttpSession httpSes = se.getSession();
if ( se.getSession().getAttribute("STKUserSession") == null) {
STKUserCookie userCookie = new STKUserCookie(request); <------- ERROR on this line "request" not available
String userBadge = userCookie.getUserID();
STKUserDAO userDAO = new STKUserDAO();
STKUser user = userDAO.getUser(userBadge);
if (user != null) {
user.setIpAddress(se.getRemoteAddr()); <------- ERROR on this line "getRemoteAddr" not a method of se
userDAO.updateLogin(user);
httpSes.setMaxInactiveInterval(36000); //set to 10 hours
httpSes.setAttribute("STKUserSession", user);
}
}
}
Le ci-dessus était une scriptlet que j'incluais dans toutes mes pages jsp et je suis en train de factoriser en un auditeur, plutôt que d'un filtre puisque je veux seulement qu'il soit appelé une fois par session pour réduire les frais généraux. Ou devrais-je vous inquiétez pas les frais généraux et coller la méthode dans un filtre ??
La solution
Ne vous inquiétez pas au sujet de la tête d'un filtre sans op. Il est négligeable.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow