본문 바로가기

IntelliJ

IntelliJ - SpringMVC, 톰캣 연동 및 실행

몇일전 최종합격통보 받고 현재 들어가는 회사에서 

IntelliJ, Oracle을 사용한다는 얘기를 들었다

 

성격상 빌어먹을 부지런함때문에 합격통보받고도 

놀지않고 바로 새로운 개발환경에 친해지기 모드 들어감

 

이클립스에서 별거아닌 연동도 인텔리제이에서 2일간 삽질한끝에

SpringMVC, tomcat 컨트롤러 매핑 알아냄

(Spring Boot 아니니 주의!)

 

 

 

 

1. 프로젝트 생성

 Maven 클릭 -> Next 클릭

 

1-1

Name은 원하는 이름

Location은 이클립스로 치면 워크스페이스라고 보면됨 

원하는 위치에 저장

 

 

 

2. SpringMVC 프레임워크 셋팅

프로젝트명 마우스 우클릭

Add Framework Support... 클릭

 

 

 

2-1 Spring MVC(5.2.3RELEASE) 클릭

(2021.3.18 기준)

 

 

 

3. pom.xml 수정

빨간박스1

groupId : 본인 기본 패키지명

artifactId : 대체로 프로젝트이름 (소문자로)

(본인이 하고싶은 이름 하면됨)

(특수문자 X)

 

빨간박스2

본인 스프링 버전과

자바버전 입력

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.cat</groupId>
    <artifactId>cat</artifactId>
    <version>1.0-SNAPSHOT</version>

    <!-- 공통적인 버전 정보 같은 경우 이렇게 선언하여 사용하면 수정이 발생할 때 편리하다. -->
    <properties>
        <spring.framework.version>5.2.4.RELEASE</spring.framework.version>
        <java.version>8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.framework.version}</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>3.8.1</version>
                <configuration>
                    <source>${java.version}</source>
                    <target>${java.version}</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

입력을 했다면 화면 우측 주먹모양 누르거나

컨트롤 + 쉬프트 O눌러서 임포트하기

 

 

 

4. 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">


    <!-- 이 설정이 없으면 오류가 발생한다. -->
    <absolute-ordering/>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </context-param>

    <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
    </listener>

    <!-- 컨트롤러 매핑 관련 DispatcherServlet-->
    <servlet>
        <servlet-name>dispatcher</servlet-name>
        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>

    <!-- url은 구분은 / 로 하겠다 -->
    <servlet-mapping>
        <servlet-name>dispatcher</servlet-name>
        <url-pattern>/</url-pattern>
    </servlet-mapping>
</web-app>

 

 

 

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

    <!-- 어노테이션 기반으로 동작하도록 설정 추가 -->
    <mvc:annotation-driven/>

    <!-- 기본 패키지 경로 설정 -->
    <context:component-scan base-package="com.cat"/>

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

나같은경우 

src - main - java - com.cat 

패키지를 만들었기에 

context:componet-scan에 com.cat 적어줬음

즉, 본인 첫번째 기본 패키지명 적어주면 됨

 

 

 

6. jsp파일 만들기

1. WEB-INF 우클릭 new - Directory

2. views ( 대소문자 구분해야됨 왜냐? 그림5번 View Resolver에 views라고 등록했으니)

3. views 디렉토리 아래에 cat.jsp 파일 만들기 

 

 

 

7. 라이브러리 및 각종 셋팅 하기

1. 윈도우 기준

(ctrl + alt + shift) + s 를 누르면 Project Structure 창이 뜸

 

2. Artifacts 항목에서 

빨간네모박스 라이브러리를 더블클릭하여 좌측 라이브러리 항목으로 옮김

(현재 옮기는 과정중, 오른쪽꺼 전체 다 더블클릭해서 왼쪽으로 옮겨야됨)

 

 

Modules에서 Language level 본인 자바 버전에 맞게 설정되어있는지 확인

 

 

 

8. tomcat 설정

 

화면 우측 상단 망치모양(빌드)

옆에 Add Configuration... 클릭

 

Run/Degub Configurations 팝업창에서

>Templates 누른후

제일하단 Tomcat Server > Local 클릭

 

Application context: 에서

/ 입력

(앞으로 localhost:8080/cat/ 어쩌고저쩌고~에서 cat이란 프로젝트명 생략하겠단 뜻)

 

 

1. Server 탭으로 돌아와 본인 톰캣 버전 입력

 

2. JRE 자바버전 잘맞는지 확인

 

3. HTTP port

(톰캣은 기본 8080 포트를 사용함)

 

 

4. 다했으면 우측상단 별표친 Create configuration 클릭

(클릭해야 톰캣 돌릴수있는 버튼생김)

 

 

 

final 컨트롤러 생성 및 실행

컨트롤러 만들고 우측상단 Tomcat 9.0.37 옆 실행버튼(shift+f10) 누르면...