Maison >Java >javaDidacticiel >java Explication détaillée de l'utilisation des instances HttpSessionListener et Filter dans Jetty9

java Explication détaillée de l'utilisation des instances HttpSessionListener et Filter dans Jetty9

怪我咯
怪我咯original
2017-06-30 10:33:311513parcourir

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

est appelé lorsque le client demande des données

Exemple de code :

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn