공부/JAVA | JSP&Servlet | Spring

IntelliJ Community 버전에서 Spring 프로젝트 만들기 (ft. smart tomcat)

bumcrush 2025. 4. 20. 12:09
반응형

ㅇIntelliJ 유료버전은 Spring프로젝트를 쉽게 셋팅할 수 있는 반면

공짜 버전인 Intellij Community 버전에서는 일일히 설정을 다 해줘야한다 ..  😭

 

물론 Springboot로 프로젝트만들거면 Spring Initializr 로 쉽게 만들 수 있지만,

오늘은 Springboot가 아닌 그냥 Spring MVC 프로젝트를 인텔리제이에서 만드는 법을 포스팅하려한다.

 

 

1. IntelliJ Community 실행 > File > New > Project

 

 

2. 프로젝트 생성 정보 입력 

이름, 위치, jdk 버전.. 등등 알아서 입력

Build System 은 Gradle 로 선택  후 > Create

 

 

인텔리제이 우측 하단부에 로딩이 끝날때까지 기다리기

 

 

3. build.gradle 수정 

plugins {
    id 'java'
    id 'war' // 웹 애플리케이션을 위한 설정
}

group = 'com.example'
version = '1.0-SNAPSHOT'

sourceCompatibility = 1.8 // 본인 Java 버전에 맞게

repositories {
    mavenCentral()
}

dependencies {
    implementation 'org.springframework:spring-webmvc:5.3.34'
    implementation 'javax.servlet:jstl:1.2'
    providedCompile 'javax.servlet:javax.servlet-api:4.0.1'

    testImplementation 'junit:junit:4.13.2'
}

 

 

 

 

4. 인텔리제이 오른쪽 코끼리 모양 아이콘 클릭 후 -> Reload 

 

 

 

5. 디렉토리 구조 설정

다음과 같이 src/main 아래 디렉토리를 수동으로 생성 

src/
 └─ main/
     ├─ java/
     │   └─ com/example/controller/
     ├─ resources/
     └─ webapp/
         └─ WEB-INF/
             ├─ views/
             └─ web.xml

 

✅  java 폴더 오른쪽 클릭 >  New > Package > com.example.controller 입력 후 생성

✅  main 폴더 오른쪽 클릭 > New  > Directory > webapp 입력 후 생성 .. (나머지 WEB-INF, views 폴더도 동일하게 생성)

 

 

 

 

5. web.xml 설정 (서블릿 설정)

src\main\webapp\WEB-INF  폴더 오른쪽 클릭 > New > File 클릭 > web.xml  입력 하여 파일 생성 

 

 

✅ web.xml에 아래 내용 추가 

<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         version="3.1">
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <init-param>
            <param-name>contextConfigLocation</param-name>
            <param-value>/WEB-INF/dispatcher-servlet.xml</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

 

 

 

 

6. dispatcher-servlet.xml 설정 (Spring 설정 파일)

동일한 방식으로

src/main/webapp/WEB-INF/dispatcher-servlet.xml 파일 생성하고 아래와 같이 작성

 

 

✅ dispatcher-servlet.xml 에 아래 내용 추가 

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:context="http://www.springframework.org/schema/context"
       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/context
           http://www.springframework.org/schema/context/spring-context.xsd
           http://www.springframework.org/schema/mvc
           http://www.springframework.org/schema/mvc/spring-mvc.xsd">

    <context:component-scan base-package="com.example.controller"/>
    <mvc:annotation-driven/>

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

</beans>

 

 

 

7. Controller 만들기

com.example.controller 패키지 오른쪽 클릭 > New > Java Class 클릭 > HomeController 입력 

 

 

HomeController.java 내용 수정 

 

package com.example.controller;

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

@Controller
public class HomeController {

    @GetMapping("/")
    public String home() {
        return "home"; // home.jsp를 반환
    }
}

 

 

 

 

8. View 생성 

webapp/WEB-INF/views 폴더 오른쪽 클릭 > New > File 클릭 > home.jsp 입력 

 


 home.jsp 내용 수정

 

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head><title>Home</title></head>
<body>
<h2>Hello, Spring MVC!</h2>
</body>
</html>

 

 

8. 인코딩 설정

File >Settings.. > Editor > File Encodings 들어가기  (검색해서 들어가도됨)

 

 

 

Global Encoding, Project Encoding, Default encoding for properties files 모~~두  'UTF-8' 로 변경 > Apply > OK

 

 

 

 

9. 톰캣 설정

인텔리제이 커뮤니티에서 톰캣을 사용하려면 플러그인에서 스마트 톰캣을 다운로드 해야한다.

 

9.1 ) 스마트 톰캣 설치

File >Settings.. > Plugins> Marketplace 탭에서 > smart tomcat 검색 후 설치 

 

 

9.2) 스마트톰캣 설정

우측 상단에  Current File 드롭다운 > Eding Configurations... 클릭

 

 

'+' 버튼 클릭 > smart tomcat 클릭 

 

 

여기서는 특별히 수정한거는 없다.

이름 수정하고 본인이 다운로드한 Tomcat server 설정

포트는 8080사용하고 있으면 다른 걸로 바꾸시면 된다.  (나는 그냥 8080 기본값으로 진행)

 

수정완료후 Apply > OK

 

 

 

설정완료하면 위에 이렇게 톰캣이 뜨게된다.

 

 

 

 

9.3) 톰캣 실행 전에 build 말아주기 

 

 

혹시 빌드 했는데.. 'error: unmappable character for encoding MS949' 이런 에러가 난다면..

아까 인코딩 설정한게 로드가 안되서 그런거다.

 

이럴때는.. 

프로젝트 최상단 폴더 오른쪽 클릭 > Reload from Disk 함 해주고 다시 Build 돌리면 된다.

 

 

 

빌드 성공

 

 

 

9.4) 톰캣 실행

상단의 톰캣 지정하고 ▷ 버튼 클릭

 

 

톰캣이 정상적으로 실행되고 

해당 링크로 들어가면 

짜좐! 웹서비스가 잘 실행된다 😄

 

이상 Spring Initializr안쓰고  IntelliJ Community 버전으로 Spring 프로젝트 생성하는 방법이었다.

반응형