본문 바로가기
Backend FrameWork/Spring

[Spring Framework] Spring MVC : <mvc:default-servlet-handler/> 개념

by IsBerry 2018. 12. 28.
반응형

<MVC :default-servlet-handler/> 개념

 

 




<MVC :default-servlet-handler/>

 :  DispatcherSerlvet이 처리하지 못한 요청 DefaultSerlvet에게 넘겨주는 역할을 하는 핸들러

   *.css와 같은 컨트롤러에 매핑되어 있지 않은 URL 요청은 최종적으로 Default Servlet에 전달되어 처리하는 역할



동작 순서


 

-쓰는 이유 

  DispatcherServlet의 매핑이 "/"로 지정하면 JSP를 제외한 모든 요청DispatcherServlet으로 가기 때문에,

  WAS가 제공하는 Default Servlet이 *.html, *.css같은 요청을 처리할 수 없게됨.

  Default ServletHandler는 이런 요청들을 Default Servlet에게 전달해주는 Handler이다.


  요청 URL에 매핑되는 컨트롤러가 존재하지 않을 때, 404응답 대신,

   DefaultServlet이 해당 요청 URL을 처리하도록 함.



-사용 방법

<web.xml>

1
2
3
4
5
6
7
8
9
10
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
 
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
cs



<servlet-context.xml>

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="UTF-8"?>
 
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:mvc="http://www.springframework.org/schema/mvc" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/mvc
       http://www.springframework.org/schema/mvc/spring-mvc.xsd">
 
<mvc:annotation-driven>
 
<mvc:default-servlet-handler />
cs

//Line12 : <mvc:default-servelt-handler/>를 선언하면, Default ServletHandler가 Bean으로 등록되며 동작함.

정리
  * <mvc:default-servlet-handler/>는  Dispatcherservlet 매핑을 "/"로 지정할 때 다른 요청들을 위해 써야한다.


반응형