티스토리 뷰

이전에 만들었던 프로젝트에서 빼는 형태로 구성을 해볼게요.

2020/01/18 - [Web/Server] - IntelliJ. spring-webmvc + gradle + tomcat. web application 구조로 만들기

 

IntelliJ. spring-webmvc + gradle + tomcat. web application 구조로 만들기

이전에 글을 남길때는 gradle을 선택하고 Java만 선택한 이후에 web은 선택하지 않고 프로젝트를 세팅하였습니다. web을 선택하여서 main아래에 webapp이 노출되는 방식으로 한번 설명해 보겠습니다. Spring에서 M..

mrgamza.tistory.com

이 부분에서 우리가 servlet-context.xml과 applicationContext.xml을 만들었는데요.

이 파일을 삭제를 하고 Class로 변경하고 web.xml을 수정할거에요.

 

1. servlet-context.xml과 applicationContext.xml은 지워버려주세요

 

2. web.xml 수정

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"
         version="4.0">

    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextClass</param-name>
            <param-value>
                org.springframework.web.context.support.AnnotationConfigWebApplicationContext
            </param-value>
        </init-param>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>com.test.config</param-value>
        </init-param>
    </servlet>
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>

</web-app>

param-value에 com.test.config는 만들려는 Config파일의 패키지 위치입니다.

 

3. ApplicationConfig 파일을 만들어 봅시다.

/src/main/java/com.test.config 패키지를 만들고 그 아래에 파일을 만들어주세요.

그리고 다음을 넣어줍니다.

package com.test.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.view.InternalResourceViewResolver;

@Configuration
@EnableWebMvc
@ComponentScan(basePackages = "com.test.controller")
public class ApplicationConfig {

    @Bean
    public InternalResourceViewResolver viewResolver() {
        InternalResourceViewResolver resolver = new InternalResourceViewResolver();
        resolver.setPrefix("/WEB-INF/views/");
        resolver.setSuffix(".jsp");
        return resolver;
    }
}

servlet-context를 옮겨둔겁니다.

<context:component-scan base-package="com.test.controller"/>

이것과

@ComponentScan(basePackages = "com.test.controller")

이것이 같은겁니다.

 

그리고...

<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
	<property name="prefix" value="/WEB-INF/views/"/>
	<property name="suffix" value=".jsp"/>
</bean>

이것과

@Bean
public InternalResourceViewResolver viewResolver() {
	InternalResourceViewResolver resolver = new InternalResourceViewResolver();
	resolver.setPrefix("/WEB-INF/views/");
	resolver.setSuffix(".jsp");
	return resolver;
}

이것이 같습니다.

 

바뀐것은 annotation을 이용하여서 Class로 이동을 하였고 xml에서 값을 가져오던 부분을 정리하였습니다.

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
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 31
글 보관함