>Java >java지도 시간 >java Jetty9에서 HttpSessionListener 및 Filter 인스턴스 사용에 대한 자세한 설명

java Jetty9에서 HttpSessionListener 및 Filter 인스턴스 사용에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-06-30 10:33:311506검색

이 글에서는 주로 Jetty9의 HttpSessionListener와 Filter를 사용하는 Java 관련 정보를 소개합니다. 필요한 친구들은 Jetty9

HttpSessionListener

에서 HttpSessionListener와 Filter를 사용하는

java를 참고하면 됩니다. 생성되거나 삭제됩니다

샘플 코드:

class MyHttpSessionListener implements HttpSessionListener { 
  @Override 
  public void sessionCreated(HttpSessionEvent httpSessionEvent) { 
    System.out.println("sessionCreated"); 
  } 
 
  @Override 
  public void sessionDestroyed(HttpSessionEvent httpSessionEvent) { 
    System.out.println("sessionDestroyed"); 
  } 
}

등록 방법:

ServletContextHandler.getSessionHandler().addEventListener(new MyHttpSessionListener());

참고: 전체 요청에서 Session을 사용하지 않으면 Session이 생성되지 않으며 Listener가 호출되지 않습니다.

Filter

는 클라이언트가 데이터를 요청할 때 호출됩니다.

샘플 코드:

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() { 
 
  } 
}

등록 방법:

ServletContextHandler.addFilter(new FilterHolder(new MyFilter()), "/*", EnumSet.allOf(DispatcherType.class));

참고: 요청한 경로가 잘못된 경우 필터가 실행되지 않습니다

위 내용은 java Jetty9에서 HttpSessionListener 및 Filter 인스턴스 사용에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.