생활 속 필터: 정수기, 공기청정기, 도적, 웹의 필터: 서버 리소스에 액세스할 때 필터는 요청을 가로채고 일부 특수 기능을 완료할 수 있습니다. 필터 기능:
일반적으로 일반적인 작업을 완료하는 데 사용됩니다. 예: 로그인 확인, 통합 인코딩 처리, 민감한 문자 필터링...
단계
1. 인터페이스 Filter
를 구현하기 위한 클래스 정의
3. 차단 경로
web.
돌아와서 필터 해제 코드 아래의 코드를 실행합니다
필터 수명주기 방식
초기화 : 서버가 시작된 후 Filter 객체가 생성되고 init 메소드가 호출됩니다. 한 번만 실행됩니다. 리소스를 로드하는 데 사용됩니다
doFilter: 리소스에 대한 요청이 차단될 때마다 실행됩니다. 여러 번 실행됨
destroy: 서버가 종료된 후 필터 개체가 삭제됩니다. 서버가 정상적으로 종료되면 destroy 메소드가 실행됩니다. 한 번만 실행됩니다. 리소스를 해제하는 데 사용됩니다
차단 경로 구성:
가로채기 방법 구성: 리소스에 액세스하는 방식
주석 구성:요청:기본값. 브라우저가 리소스를 직접 요청합니다
FORWARD: 리소스에 대한 전달 액세스
INCLUDE: 리소스에 대한 액세스 포함
ERROR: 리소스로 오류 점프
ASYNC: 리소스에 대한 비동기 액세스
실행 순서: 필터가 두 개인 경우: 필터 1과 필터 2
Filter 1
Filter 2
리소스 실행
Filter 2
Filter 1
Listener: 청취자
: 웹의 세 가지 주요 구성 요소 중 하나입니다. 이벤트 청취 메커니즘
이벤트: 사물
이벤트 소스: 이벤트가 발생하는 곳
리스너: 객체
등록된 모니터링: 이벤트, 이벤트 소스, 리스너를 Together에 바인딩합니다. 이벤트 소스에서 이벤트가 발생하면 리스너 코드가 실행됩니다.
ServletContextListener: ServletContext 객체의 생성 및 소멸 메소드를 수신합니다. : 이 메소드는 ServletContext 객체가 생성된 후 호출됩니다. 단계:
web.xml
@WebFilter("/*")//访问所有资源之前,都会执行该过滤器 public class FilterDemo1 implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("filterDemo1被执行了...."); //放行 filterChain.doFilter(servletRequest,servletResponse); } @Override public void destroy() { } }초기화 매개변수 지정
void contextDestroyed(ServletContextEvent sce)
:ServletContext对象被销毁之前会调用该方法 void contextInitialized(ServletContextEvent sce)
주석:
위 내용은 Java에서 필터와 리스너를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!