[Spring4 DispatcherServlet,스프링 디스패처서블릿] - 스프링실무교육학원
§ Spring MVC에서 Front Controller 역할 수행, HttpServlet을 상속받은 서블릿으로 웹 응용프로그램의 web.xml에서 디스패처 서블릿 및 매핑을 정의한다.
§ DispatcherServlet이 로드되면 서블릿의 이름과 연관된 XML 파일로 부터 빈들이 이미 정의되어 있는 루트 WebApplicationContext를 상속한 자식 WebApplicationContext를 로딩한다. (서블릿이름-servlet.xml)
§ 그런 다음 servlet-mapping을 통해 다루어질 URL을 지정
§ 세개의 파라미터를 가진다.(contextClass:WebApplicationContext를 구현할 클래스이며 기본은 XmlWebApplicationContext임, contextConfigLocation:설정파일위치, namespace : 기본은 WEB-INF/서블릿명-servlet.xml)
<servlet>
<servlet-name>onj</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value><!–- 여기에 스프링 관련 설정 파일(xml)을 둔다. à</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>onj</servlet-name>
<url-pattern>/ojc/*</url-pattern>
</servlet-mapping>
à 자바설정(Java Config)으로… web.xml 생략가능
à Code-based Servlet container initialization
public class MyWebApplicationInitializer implements WebApplicationInitializer {
public void onStartup(ServletContext container) {
ServletRegistration.Dynamic registration =
container.addServlet("dispatcher", new DispatcherServlet());
registration.setLoadOnStartup(1);
registration.addMapping("/example/*");
} }
§ DispatcherServlet 설정파일에는 스프링 MVC 컴포넌트와 관련된 <bean>정의를 포함
§ 서비스 계층과 데이터(영속성) 계층에 속하는 빈 역시 DispatcherServlet의 설정파일에 포함할 수 있지만 별도의 설정파일을 두는 것이 좋다.
§ 설정파일들이 모두 로드 되도록 하기 위해 컨텍스트 로더를 설정한다.
댓글 없음:
댓글 쓰기