IntelliJ에서 Spring MVC 환경 구축하기

enoch·2020년 10월 31일
3

Spring Study

목록 보기
1/3
post-thumbnail

0. 서론

IntelliJ에서 SpringMVC환경을 구축하는 것은 IntelliJ나 Spring을 처음 다루었을 때 가장 어렵게 다가왔던 부분이다.
처음 다룰 때에 설정이 꼬이기 시작하면 복구하는 것이 굉장히 어렵기 때문이다.

글을 보고 처음부터 따라하면 쉽게 환경을 구축할 수 있다.

1. 프로젝트 생성

File -> NewProject -> Maven

원하는 프로젝트 이름으로 Maven 프로젝트를 만들어준다.

2. 프레임워크 추가


프로젝트 최상위 폴더를 마우스 우클릭하여 Add Framework Support 버튼을 눌러준다.


spring MVC를 찾아서 체크 표시해준다.
Spring5 이외의 버전을 사용할 경우 Configure버튼을 눌러 버전을 선택할 수 있다.

프레임워크가 적용되고 나면 위와같은 디렉토리와 파일들이 생성되어 있다.

3. Web.xml 설정


WEB-INF 폴더 내에 web.xml파일이 있다.
파일 내에서 <url-pattern>을 찾아서 *.from형태에서 /형태로 바꾸어준다.

4. Project Structure

IntelliJ 우측 상단에 Project Structure버튼이 있다.

Artifacts 탭에 Available Elements아래를 보면 폴더가 있다.
폴더를 더블클릭 해주면 여러개의 파일이 보이는데, 이것들을 모두 더블클릭하여 왼쪽으로 옮겨주면 된다.

5. Dispatcher-servlet.xml

Dispatcher-servlet.xml파일에 아래 코드를 붙여넣어준다.

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:mvc="http://www.springframework.org/schema/mvc"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd
        http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

    <mvc:annotation-driven></mvc:annotation-driven> <!-- Annotation 활성화 -->
    <context:component-scan base-package="Controller"></context:component-scan> <!-- Component 패키지 지정 -->

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

</beans>

6. views 디렉토리 생성, 파일 옮기기

web - WEB-INF에 새로운 디렉토리를 생성한다. 디렉토리 이름은 views이다.

이후 index.jsp파일을 views디렉토리 안으로 옮긴다.

7. Controller 생성

src-main-javaController패키지를 생성한다.
패키지 안에 controller클래스도 생성해준다.

이후 클래스 파일에 다음과 같이 작성해준다.

package Controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
public class controller {

    @RequestMapping(value = "/")
    public String test(){
        return "index";
    }
}

8. Tomcat 추가

IntelliJ우측 상단 Add Configuration을 눌러준다.
좌측에 보이는 +버튼을 누르고 Tomcat server -> Local을 선택해준다.

이후 Fix버튼을 눌러서 Application context/으로 수정해준다.

9. 오류

모든 순서를 따라하고 빌드를 시켰을 때 오류가 나는 경우가 있다.

이와 같은 오류가 날 경우에는 pom.xml파일에 들어가서 아래 코드를 추가시켜준다.

  <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>8</source>
                    <target>8</target>
                </configuration>
            </plugin>
        </plugins>
    </build>

9. 빌드

이후 빌드를 해주면 Tomcat이 구동되고 웹 브라우저로 http://localhost:8080 에 접속하면 다음과 같은 화면을 볼 수 있다.

참고자료

https://nesoy.github.io/articles/2017-02/SpringMVC
https://www.inflearn.com/questions/19302
https://freehoon.tistory.com/148

profile
🍣 초밥을 사랑하는 백엔드 개발자 입니다 :)

2개의 댓글

comment-user-thumbnail
2020년 12월 16일

spring 버전 안맞는곳에서 따라하다가 안됐는데 여기서 보고 하니까 바로 됐네요

답글 달기
comment-user-thumbnail
2021년 4월 24일

/ 의 GET 매핑이 없다는 에러가 뜨는데 왜이럴까요? 톰캣문제인가요?

답글 달기