티스토리 뷰

DispatcherServlet?

해당 어플리게이션으로 들어오는 요청을 모두 처리

사용자 URL 요청 -> DispatcherServlet (<url-pattern>을 통해 인식)-> HandlerMapping -> Controller(Servlet) -> ViewResolver -> View -> DispatcherServlet -> 사용자




DispatcherServlet은 모든 요청을 Servlet으로 보내어 처리하게 되므로 굳이 하지 말아야 할 요청도 보내는 경우가 있습니다. 이런 경우는 <resources>를 이용하여 예외 처리를 한다.

EX)

<resources location="/WEB-INF/views/images/, classpath=/WEB-INF/views/images/" mapping="/images/**" />


DispatcherServlet ContextLoaderListener

DispatcherServlet는 각각의 독립적으로 설정파일을 Load 하고 공유 불가

ContextLoaderListener를 사용하게 되면 Load시 여러 설정파일을 Load할 수 있음

ContextLoaderListener DispatcherServlet 를 같이 사용할 경우 ContextLoaderListener는 부모 context가 되고 DispatcherServlet는 자식 context가 된다. 자식은 부모의 설정을 사용할 수 있다.

공통적인 부분(공통 빈) 설정은 ContextLoaderListener에 설정 하면 된다.

Ex)

<listener>

           <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

</listener>       

<servlet>

           <servlet-name>action</servlet-name>

           <servlet-class>

                     org.springframework.web.servlet.DispatcherServlet

           </servlet-class>

           <init-param>

                     <param-name>contextConfigLocation</param-name>

                     <param-value>

                                /WEB-INF/config/egovframework/springmvc/dispatcher-servlet.xml,

                                /WEB-INF/config/egovframework/springmvc/urlfilename-servlet.xml

                     </param-value>

           </init-param>

           <load-on-startup>1</load-on-startup>

</servlet>

<servlet-mapping>

           <servlet-name>action</servlet-name>

           <url-pattern>*.do</url-pattern>

</servlet-mapping>

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함