본문 바로가기

Spring

[MacOS] intelliJ에서 tomcat server로 Spring

- 환경
intellij : IntelliJ IDEA Ultimate 2019.1

윈도우에서 맥으로 바꾼 현 시점에서 나중에 또 삽질하지 말라고 나를 위해 정리를 한다.

1. Maven 프로젝트를 생성하여 spring framework를 달아준다.

   Next 누르고 Groupid와 Artifactid를 적절하게 작성한다. 그리고 Next를 누르면 프로젝트가 생성된다.
  생성하고 나면 아마 오른쪽 하단에 아래와 같은 알림창이 뜰 것이다.

   그럼 'Enable Auto-Import'를 누르면 된다.
   그리고 나서 프로젝트 우클릭 -> 'Add Framework Support...'을 누른다.

   스크롤 주르륵 내려서 'Spring'을 찾아 체크해주면 끝. 근데 community버전이면 Add Framework Support.. 해도 뜨는게 없다. 흑흑 첨에 공식 사이트 제대로 안읽고 community 버전 받았다가 안떠서 당황했다. 혹시 community 버전이시라면 이 페이지를 나가고 구글링 추천..

2. 라이브러리 추가
   'File -> Project Structure...'로 가서 Artifacts 설정으로 간다.
  (project structure는 자주 들락날락하니 단축키에 익숙해지면 편하다. command + ';')
  Available Elements 밑에 있는 2개 더블 클릭하고 'OK'하면 끝

3. web.xml 수정
   아래와 같이 web.xml 을 수정해준다. 우리가 흔히 접하는 '/' 아닌가.

<url-pattern>/</url-pattern>

4. controller 생성
   '/'에 붙은 홈페이지(요청)를 처리하는 컨트롤러를 만들어 주자.
  사실상 아직은 '/' 처리만 해놓으면 되므로 간단하게 만들어만 놓자.

package controller;

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

public class controller {

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

   파일 경로는 아래 사진과 같다.

5. dispatcher-servlet.xml 수정
   이 부분은 이 을 참조하였다. dispatcher 부터 까먹어서..저번에 dispatcher 먼저 수정했다가 component-scan base-package 설정에서 애먹어서 이번엔 먼저 controller 만들고 났더니 dispatcher에 뭘 추가하더라..?하고 있었다.

<?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. index.jsp (View)
   일단은 프로젝트가 정상 작동하는지 테스트만 할거니 hello world를 출력시키자.

<%--
  Created by IntelliJ IDEA.
  User: NESOY
  Date: 2019-03-28
  Time: 오후 11:41
  To change this template use File | Settings | File Templates.
--%>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
  <head>
    <title>$Title$</title>
  </head>
  <body>
    Hello, world
  </body>
</html>

 

7. tomcat 설치 및 Run configuration 설정
   tomcat 설치를 위해 잠시 터미널로 이동한다.

brew install tomcat

   위 명령어를 통해 tomcat을 깔아준다. 설치가 완료되면 tomcat이 무슨 경로에 있는지 Summary에 뜬다.

   다시 intelliJ로 돌아와서 'Run -> Edit Configurations...'
  그리고 '+'를 눌러서 Tomcat Server > Local를 찾아 추가해준다. 그러면 Tomcat Home 위치를 묻는 창이 뜰텐데 여기에 Summary에 떴던 tomcat 경로에서 libexec 디렉토리로 설정해주면 된다. 즉, 나의 경우라면 '/user/local/Cellar/tomcat/9.0.17/libexec'. 그리고 warning이 뜬다면 'Fix'누르고 'OK'하면 끝이다. 원하는 포트 번호 설정하고 완료하면 된다.

Run을 하고 좀만 있음 브라우저 창이 뜬다.