본문 바로가기

웹 개발/Spring

[Spring] Spring Legacy Project 초기 설정


 



이 글은 '코드로 배우는 스프링 웹 프로젝트 개정판' 책과
학원 강의 내용을 토대로 정리한 내용입니다.


 

#

이클립스에서 Spring Legacy Project를 생성하면 스프링의 기본 버전은 3.x이고, JDK 버전도 1.6으로 설정되어 있습니다.

그래서 개발하기 전에 몇 가지 설정하는 과정을 거쳐야합니다.

 

 

# 기본 설정 (1)

Spring Legacy Project 선택 → 우클릭 → Properties → Project Facets 에서 아래 목록을 선택, 버전 변경을 합니다.

 

  • Dynamic Web Module Version 3.1 (톰캣 버전이 8.5이면 3.1로 선택)
  • Java 선택 Versiont 1.8 (JDK 버전과 동일한 버전)
  • JavaScript 선택 Version 1.0
  • 우측 [Runtimes] 에서 서버(Apache Tomcat v8.5) 선택

 

# 기본 설정 (2)

 

아래 두 가지는 이미 선택되어 있을 경우가 높지만 확인하면 좋습니다.

 

  • Java Compiler 를 선택한 후 Enable project specific settings 이 선택되어 있는지 확인
  • Compiler compliance level이 1.8로 되어 있는지 확인

 

# pom.xml 설정

다음은 pom.xml 파일의 설정을 변경합니다. 참고로 코드 수정 후 저장을 하면 바로 빌드가 되기 때문에 pom.xml에서 변경할 설정을 다 바꾼 뒤 마지막에 저장하는 것을 권장합니다.

 

빌딩 중

 

 

1. Java, Spring 버전 수정

  • Java 버전은 설치된 JDK 버전과 맞춰줍니다.
  • Spring Framework 버전은 최신 버전이 있지만 저는 4.0.0.으로 하겠습니다.

(※ 스프링의 더 다양한 버전은 Maven Repository(여기)에서 확인할 수 있습니다.)

 

 

<java-version>1.8</java-version>
<org.springframework-version>4.0.0.RELEASE</org.springframework-version>

 

 

2. Javax.servlet 버전 수정

servlet-api 앞에 javax. 문자열을 추가하고 servlet과 jsp-api 버전을 수정합니다.

 

 

<!-- 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>jsp-api</artifactId>
    <version>2.2</version>
    <scope>provided</scope>
</dependency>

 

3. apache.maven-compiler-plugin 버전 수정

플러그인 버전은 Java 버전과 동일하게 변경합니다.

 

 

<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
  <source>1.8</source>
  <target>1.8</target>

 

4. 추가할 의존 라이브러리를 <dependencies></dependencies> 안에 작성

이 부분은 나중에 추가해도 됩니다. (예를 들어 Oracle DB를 사용하기 위해서 관련 라이브러리를 가져오는 등)

 

5. 프로젝트 업데이트

pom.xml 수정을 마치면 Project 우클릭 → Maven → Update Project 선택해서 업데이트 합니다.

 

 

 

업데이트 완료 후 Package Explorer에서 라이브러리 버전이 1.8로 된 것을 확인할 수 있습니다.

 

 

 

# web.xml 설정

pom.xml 파일 설정이 끝나면 web.xml 파일로 넘어갑니다. 위치는 src/main/webapp/WEB-INF/ 안에 있습니다.

 

wem.xml

 

 

1. Welcom File List 추가

web.xml 파일 상단에 아래의 코드를 추가합니다.

웰컴 파일 리스트는 최상위 경로 요청이 들어오면 웰컴 파일(home.do)로 forward 이동시킵니다.

사용자가 주소창에 google.com/home.do 라고 검색(요청)하지 않고 google.com만 검색해도 index페이지(home.do)로 이동하게 하는 것입니다.

 

<welcome-file-list>
  <welcome-file>home.do</welcome-file>
</welcome-file-list>

 

2. appServlet의 경로 설정

서블릿 맵핑 안의 url 패턴이 /로 되어있는데 *.do로 변경합니다.

 

<servlet-mapping>
  <servlet-name>appServlet</servlet-name>
  <url-pattern>*.do</url-pattern>
</servlet-mapping>

 

 

 

3. 인코딩 필터(UTF-8)

post 방식으로 전송될 때 한글이 깨지지 않도록 web.xml 파일 하단에 인코딩 필터를 정의하고 맵핑합니다.

 

 

<!-- 필터 정의 -->
<filter>
  <filter-name>EncodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
  </init-param>
</filter>

<!-- 필터 맵핑 /* 는 모든 경로의 파일을 말한다. -->
<filter-mapping>
  <filter-name>EncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
</filter-mapping>

 

 

 

# HomeController.java 수정

Java Resources → src/main/java → 패키지 → HomeController.java 파일을 열어서 @Controller, @RequestMapping을 재설정 합니다.

 

@Controller
public class HomeController {

  @RequestMapping("/home")
  public String home() {

  	return "home";
  }
}

 

 

# home.jsp 템플릿 설정

Windows → Preferences 를 클릭합니다.

오른쪽 메뉴 중에서 Web → JSP File → Editor → Templates 을 선택합니다.

템플릿 중 New JSP File (html 5) 을 선택하고 Edit을 클릭합니다.

 

기존의 템플릿을 지우고 아래 템플릿으로 변경합니다.

코드 중에 trimDirectiveWhitespaces는 나중에 브라우저에서 '소스보기'를 할 경우 스크립트 코드로 인한 공백을 제거하는 기능입니다.

 

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page language="java" contentType="text/html; charset=${encoding}"
    pageEncoding="${encoding}"%>
<%@ page trimDirectiveWhitespaces="true" %>
<!DOCTYPE html>
<html>
<head>
<title>Insert title here</title>
<meta charset="${encoding}" />
</head>
<body>
${cursor}
</body>
</html>

 

 

 

# home.jsp 페이지 다시 생성

기존에 있던 home.jsp 페이지를 삭제하고 동일한 이름으로 재생성 합니다. 

조금 전에 수정한 JSP File 템플릿으로 나오는지 확인합니다.

 


 

# Run on Server

여기까지 초기 설정을 마쳤으면 Project 우클릭 → Run As → Run on Server 를 클릭해서 실행되는지 확인합니다.

주의할 점은 개별 파일(Ex. home.jsp)을 선택해서 실행하면 경로가 잘 못 요청되어서 404error가 발생하니 반드시 프로젝트를 선택해야 합니다.)

 

아래 사진 처럼 화면이 나오면 정상적으로 설정 완료 된 것입니다.

 

Run on Server