이 글은
https://nesoy.github.io/articles/2017-02/SpringMVC
Nesoy 님의 흐름을 바탕으로 제가 새롭게 캡쳐해서 올린 글입니다.
이클립스는 검색하면 많이 나오기에 intellij만 정리합니다.
먼저 new project에서
메이븐 프로젝트를 생성합니다
프로젝트 이름은 artifactId입니다.
적당히 입력해줍니다.
컨텐트 루트를 바꾸고 싶으신 분은 바꿔줍시다.
생성됬으면 프로젝트 이름 우클을 하여 add Framework support를 선택해 줍니다.
스프링 MVC 패턴을 선택하여 진행합시다.
그러면 디렉토리 형식에 조금 변화가 있을 것입니다.
그 후 web 디렉토리 우클을 하여
'views' 폴더를 하나 만들어 줍시다.
그리고 web 아래있는 index.jsp를 views 디렉토리에 넣어줍시다.
그 후 web.xml에 들어가 서블릿 맵핑의 url-pattern의 저 부분을 / 로 바꿔줍시다.
<url-pattern>/</url-pattern>
가 들어가면 됩니다.
그 후 메인의 자바 디렉토리에 컨트롤러 패키지를 생성한 후 컨트롤러 클래스를 하나 만들어 줍시다.
코드는 아래와 같습니다.
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";
}
}
그 다음은
WEB-INF 폴더 아래
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>
<context:component-scan base-package="Controller"></context:component-scan>
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix" value="/WEB-INF/views/"></property>
<property name="suffix" value=".jsp"></property>
</bean>
</beans>
이 코드로 바꿔줍니다.
이 정도면 기본적은 세팅은 끝납니다.
기본적인 세팅을 바라시는 분은 여기까지 하시면 됩니다.
하지만 저는 logger 도 쓸거구, test 라이브러리도 쓸거구 이것저것 다 쓸 것이기 때문에
pom.xml을 수정할 것입니다.
pom.xml의 <project></project> 사이에 아래의 코드를 넣어줍시다.
<properties>
<org.slf4j-version>1.7.25</org.slf4j-version>
<org.springframework-version>4.3.12.RELEASE</org.springframework-version>
</properties>
<!-- Logging -->
<dependencies>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>javax.servlet.jsp-api</artifactId>
<version>2.3.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- jackson-databind 라이브러리 추가
1) JSON 타입의 요청 파라미터를 Object로 변환
2) Object를 JSON 타입 문자열로 변환해서 응답(response)에 추가-->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.2</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<!-- springTest -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.12.RELEASE</version>
</dependency>
<!-- Oracle JDBC 라이브러리 -->
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6g</artifactId>
<version>11.2.0</version>
</dependency>
<!-- MyBatis, MyBatis-Spring, Spring-JDBC -->
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis</artifactId>
<version>3.4.5</version>
</dependency>
<dependency>
<groupId>org.mybatis</groupId>
<artifactId>mybatis-spring</artifactId>
<version>1.3.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- injection -->
<!-- @Inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
</dependencies>
주석에 라이브러리 이름은 적어 놨으니
필요없으신 분은 지우셔도 됩니다.
이렇게 하고 저장을 하면 아래의 메시지가가 뜹니다.
pom.xml이 수정됬으니 추가된 라이브러리를 입포트 해주세요. 하는 것입니다.
import Changes를 눌러줍시다.
그리고 logger를 제대로 사용하기 위해서는 logger 리소스 파일이 필요합니다.
이클립스의 경우 만들어주지만 intellij는 만들어야 합니다.
먼저 리소스 폴더 아래 log4j.xml 파일을 하나 만들어줍시다.
(오타나시면 안됩니다)
<?mappers version="1.0" encoding="UTF-8"?>
<!DOCTYPE log4j:configuration PUBLIC "-//APACHE//DTD LOG4J 1.2//EN" "log4j.dtd">
<log4j:configuration>
<!-- Appenders -->
<appender name="console" class="org.apache.log4j.ConsoleAppender">
<param name="Target" value="System.out" />
<layout class="org.apache.log4j.PatternLayout">
<param name="ConversionPattern" value="%-5p: %c - %m%n" />
</layout>
</appender>
<!-- Application Loggers -->
<logger name="Controller">
<level value="info" />
</logger>
<!-- 3rdparty Loggers -->
<logger name="org.springframework.core">
<level value="info" />
</logger>
<logger name="org.springframework.beans">
<level value="info" />
</logger>
<logger name="org.springframework.context">
<level value="info" />
</logger>
<logger name="org.springframework.web">
<level value="info" />
</logger>
<!-- Root Logger -->
<root>
<priority value="info" />
<appender-ref ref="console" />
</root>
</log4j:configuration>
이런 파일을 넣어둡니다.
그 이후 file - project structure - modules - dependencies 에 들어갑니다.
Available Elements의 프로젝트 이름을 클릭, 모든 자원을 디플로이먼트에 추가해주도록 합시다
put into output root 클릭
(다른 프로젝트를 생성해서 찍은 사진이나 방법은 동일합니다)
하면 대략적인 설정은 다 됩니다.
서버 설정은 다른 글에서 몇번 다루었으니 생략하도록 하겠습니다.
다른 라이브러리를 사용하기 위한 설정이 많이 필요하나, 너무 길어지기에 다른 포스트에서 정리하도록 하겠습니다.
'프로그래밍 > Web-Spring' 카테고리의 다른 글
junit을 통한 테스트 클래스 만들기 (0) | 2017.11.15 |
---|---|
@ResponseBody, jackson-databind 라이브러리 활용 (0) | 2017.11.15 |
MVC Patterns 기본적 컨트롤러 생성 / redirect 활용 (0) | 2017.11.15 |