필터는 Java 웹에 있습니다. 전달한 요청과 응답은 일부 정보를 미리 필터링하거나 일부 매개변수를 미리 설정한 다음 서블릿이나 struts2에 전달합니다.
이 작업은 불법 URL 필터링(login.do 이외의 주소 요청, 사용자가 로그인하지 않은 경우 필터링) 또는 서블릿 또는
struts2 조치 또는 일부 잘못된 문자를 제거하십시오.
인터셉터는 관점 지향 프로그래밍에 있습니다. 즉, 서비스나 메소드 전에 메소드를 호출하거나 동적 프록시와 같은 메소드 후에 메소드를 호출하는 것을 의미합니다. 인터셉터인 간단한 구현으로, 메소드를 호출하기 전에(또는 다른 비즈니스 로직 작업을 수행하기 전에) 문자열을 인쇄할 수도 있고, 메소드를 호출한 후에 문자열을 인쇄할 수도 있고, 심지어는 메소드를 던질 때 비즈니스 로직 작업을 수행할 수도 있습니다. 예외.
인터셉터와 필터의 차이점:
인터셉터는 Java의 반사 메커니즘을 기반으로 하는 반면 필터는 함수 콜백을 기반으로 합니다.
인터셉터는 서블릿 컨테이너에 의존하지 않지만 필터는 서블릿 컨테이너에 의존합니다.
인터셉터는 작업 요청에만 작동할 수 있는 반면 필터는 거의 모든 요청에 작동할 수 있습니다.
인터셉터는 작업 컨텍스트 및 값 스택의 개체에 액세스할 수 있지만 필터는 액세스할 수 없습니다.
액션의 수명 주기에서 인터셉터는 여러 번 호출할 수 있지만 필터는 컨테이너가 초기화될 때 한 번만 호출할 수 있습니다.
실행 순서: 필터링 전 - 필터링 전 차단 - 차단 후 작업 처리
필터링 후. 개인적으로 필터링은 수평적 프로세스라고 생각합니다. 먼저 클라이언트가 제출한 콘텐츠가 필터링되고(예: 로그인하지 않은 사용자는 내부 페이지에 액세스할 수 없음) 인터셉터가 사용자가 제출한 콘텐츠를 확인합니다. 데이터
확인, 일부 예비 데이터 처리를 수행한 다음 처리된 데이터를 해당 작업 처리가 완료되고 반환된 후 인터셉터가 다른 프로세스를 수행한 다음 상위로 반환할 수 있습니다. 필터의 후속 작업.
리스너: 이는 c/s 모드에서 자주 사용되며 특정 이벤트에 대한 처리를 생성합니다. 모니터링은 다양한 모드에서 사용됩니다. 예를 들어 관찰자 모드는 모니터링을 기반으로 합니다. 또 다른 예는 모니터링을 사용하여 struts2를 시작할 수 있다는 것입니다. 서블릿 리스너는 몇 가지 중요한 이벤트의 발생을 모니터링하는 데 사용됩니다. 리스너 객체는 이벤트 발생 전후에 몇 가지 필요한 처리를 수행할 수 있습니다.
예를 들어 서블릿 리스너 Listener에 대해 이야기하면 javax.servlet.ServletContextListener
인터페이스를 구현하는 서버측 프로그램이기도 하며 시작과 함께 시작됩니다. 웹 애플리케이션의 한 번만 초기화되며 웹 애플리케이션이 중지되면 파기됩니다. 주요 기능은 다음과 같습니다.
초기 콘텐츠 추가 작업을 수행하고 일부 매개변수나 일부 고정 개체 등과 같은 일부 기본 콘텐츠를 설정합니다.