-
[JSP] <dispatcher>엘리먼트를 이용하여 경우에 맞는 필터 호출하는 방법Legacy/JAVA 2015. 10. 13. 20:56728x90
출처 - 뇌를 자극하는 JSP&Servlet p.600 - <dispatcher> 엘리먼트에 대하여
웹 컴포넌트를 호출하는 방법은 크게 네 가지입니다. 첫째는 웹 브라우저를 이용하는 방법이고, 둘때는 forward 메소드를 통해서 호출하는 방법이고, 셋째는 include 메소드를 통해 호출하는 방법이며, 넷째는 익셉션이 발생했을 때 웹 컨테이너가 자동으로 호출하는 방법입니다. 그런데 이 네 가지 방법에 따라 필터를 선택적으로 적용할 수 있습니다. 그렇게 하려면 <dispatcher> 엘리먼트를 사용하면 됩니다.
web.xml 파일의 <filter-mapping> 엘리먼트 안에 <dispatcher>라는 엘리먼트를 추가하고, 거기에 REQUEST, FORWARD, INCLUDE, ERROR 중에 한 값을 쓰면 위에 기술한 네 가지 경우에 맞추어 웹 컴포넌트를 호출에 대응하게 됩니다. 다음과 같이.
12345<filter-mapping><filter-name>log-filter</filter-name><url-pattern>/sub2/*</url-pattern><dispatcher>FORWARD</dispatcher></filter-mapping>cs 위 방법과 같이 FORWARD에 대해 디스패처를 등록하면 forward 메소드에 대해서만 log-filter가 동작될 것입니다.
여러개의 <dispatcher> 엘리먼트를 등록하는 것도 가능합니다.
'Legacy > JAVA' 카테고리의 다른 글
Connect Error: Access denied for user 'root'@'localhost' 에러 해결방법 (0) 2019.03.10 초보 개발자를 위한 스택트레이스 읽는 법 - 오키 fender님 글 (0) 2016.07.23 [정규표현식] html 태그에서 stript와 style 태그 내부에 있는 것들 제거 (0) 2015.10.25 [Java] String 과 String Buffer, String Builder의 차이점 (0) 2015.10.13 [JSP] 쿠키와 세션에 사용되는 메소드 (0) 2015.09.15 [JSP] RequestDispatcher.forward 메소드와 sendRedirect 메소드의 차이점 (4) 2015.09.12 [JSP] JSP 페이지는? (0) 2015.09.07 [JSP] JSP(Java Server Pages)와 자바 서블릿(Java Servlet) (0) 2015.08.26 Java 의 Vector 와 ArrayList , Linked List 의 차이점 (0) 2015.05.04 JSmooth 사용법 (0) 2014.12.09