Maison >Java >javaDidacticiel >java Explication détaillée de l'utilisation des instances HttpSessionListener et Filter dans Jetty9
Cet article présente principalement les informations pertinentes sur Java utilisant HttpSessionListener et Filter dans Jetty9. Les amis qui en ont besoin peuvent se référer à
java en utilisant HttpSessionListener dans Jetty9 et Filter.
HttpSessionListener
est appelé lorsque la session est créée ou détruite
Exemple de code :
class MyHttpSessionListener implements HttpSessionListener { @Override public void sessionCreated(HttpSessionEvent httpSessionEvent) { System.out.println("sessionCreated"); } @Override public void sessionDestroyed(HttpSessionEvent httpSessionEvent) { System.out.println("sessionDestroyed"); } }
Méthode d'enregistrement :
ServletContextHandler.getSessionHandler().addEventListener(new MyHttpSessionListener());
Remarque : Si la session n'est pas utilisée dans l'ensemble de la requête, elle ne sera pas générée et l'écouteur
Le filtre
class MyFilter implements Filter { public MyFilter() { } @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { if (servletRequest instanceof HttpServletRequest) { HttpServletRequest httpRequest = (HttpServletRequest) servletRequest; System.out.println(httpRequest.getServletPath()); } filterChain.doFilter(servletRequest, servletResponse); } @Override public void destroy() { } }
Méthode d'enregistrement :
ServletContextHandler.addFilter(new FilterHolder(new MyFilter()), "/*", EnumSet.allOf(DispatcherType.class));
Remarque : Si le chemin demandé est erroné, le filtre ne sera pas déclenché.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!