[Spring] index.jsp를 WEB-INF/views 안에 넣고 DispatcherServlet을 거치지 않고 띄우기. welcom-file 추가

리트리버J

·

2020. 11. 7. 09:03

728x90
// 원래 라면 webapp 폴더 하위에 index.jsp를 넣고 Tomcat Server의 web.xml의
// welcom-file에 의하여 index.jsp를 첫 화면으로 띄울 수 있었다.

<welcome-file-list>
    <welcome-file>index.html</welcome-file>
    <welcome-file>index.htm</welcome-file>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

// 하지만 프로젝트 내의 web.xml의 url-pattern이 /이 아닌 *.do같은 형식이라면,

// Spring Legacy MVC에서 기본적으로 제공하는 HomeController에서 value="/"가
// 작동하지 못하게 되며,

// WEB-INF 내부에 넣을 시, Tomcat Server의 welcome-file이 찾지 못하게 되고,
// 결국 index.jsp로 매핑되는 @RequestMapping이 없기 때문에 404에러가 뜬다.

// 하지만 프로젝트 내의 web.xml에 welcom-file에 경로를 넣어주게 된다면
// DispatcherServlet을 거치지 않더라도 index.jsp를 첫화면으로 띄워주게 된다.

<!-- Processes application requests -->
<servlet>
    <servlet-name>appServlet</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/spring/appServlet/servlet-context.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
    
<servlet-mapping>
    <servlet-name>appServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>

<welcome-file-list>
    <welcome-file>/WEB-INF/views/index.jsp</welcome-file>
</welcome-file-list>


728x90