티스토리 뷰

처음 하는 스프링(Spring), 프로젝트 구조 정리하기에 이어서.

처음 하는 버전 관리

이번엔 버전 관리에 대해서 정리해보도록 하자.
프로젝트를 처음 생성한 만큼 프로젝트에서 사용하는 Java, Spring 등의 버전 역시 기본값으로 설정되어 있을 것이다.
이것들을 앞으로 우리가 사용할 버전으로 바꿔줄 것이다.

1. pom.xml 버전 관리

pom1
먼저 pom.xml을 열면 다음과 같이 Overview를 볼 수 있다.
Overview 하단의 pom.xml 탭을 클릭하자.

pom2
pom.xml의 소스 코드를 볼 수 있다. (굉장히 길다)
지금 눈여겨봐야 할 곳은 properties 태그인데, pom.xml에서 공통적으로 사용하는 java, spring 등의 버전을 관리해주는 곳이다.
기본값으로 만들어져서 버전이 오래된 것을 볼 수 있다.

1
2
3
4
5
6
<properties>
    <java-version>1.8</java-version>
    <org.springframework-version>4.2.4.RELEASE</org.springframework-version>
    <org.aspectj-version>1.8.8</org.aspectj-version>
    <org.slf4j-version>1.7.14</org.slf4j-version>
</properties>
cs

각자 본인이 선호하는 버전이 있다면 해당 버전으로 설정해주도록 하자.

pom4
저장하고 잠시 기다려주면 다음과 같이 Maven Dependencies가 바뀌는 것을 볼 수 있다.

2. java 버전 관리

java1
프로젝트를 살펴보면 JRE System Library 버전이 JavaSE-1.6으로 되어있는데, JavaSE-1.8 버전으로 바꾸려고 한다.

java2
JRE System Library의 Properties 메뉴를 열자.

java3
Execution environment를 jdk1.8.0_161의 JavaSE-1.8로 지정해준다.

java4
JRE System Library 버전이 JavaSE-1.8로 잘 바뀐 걸 볼 수 있다.

처음 하는 web.xml

다음으로는 서블릿 배포 기술자, 영어로 DD(Deployment Descriptor)로 불리는 web.xml이다.
더 많은 내용은 개발 환경 구축하기 첫 번째, web.xml에 조금 정리를 해놓았으니 참고하도록 하자.

1. 바꾸기 전

web.xml1
web.xml 파일을 열어보면 처음 만들어진 그대로의 내용을 볼 수 있다.
내용을 살펴보면 Root WebApplicationContext와 Servlet WebApplicationContext(DispatcherServlet)에 대해서만 설정되어 있다.
이제 바꿀 건 바꾸고, 추가할 건 추가해보자.

2. 추가할 것

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
cs

현재 우리의 프로젝트는 index 페이지 없이 HomeController.java의 도움으로 home.jsp 페이지를 열도록 되어있었다.
그래서 우리의 프로젝트에 index 페이지를 지정하는 것을 추가했다.
CharacterEncodingFilter도 추가를 했는데, 이 부분을 통해서 앞으로 웹 요청과 응답에 대한 인코딩 처리를 할 수 있게 된다.

3. 바꿀 것

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>/WEB-INF/conf/root-context.xml</param-value>
</context-param>
<listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
    <servlet-name>bgn</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>/WEB-INF/begin-servlet.xml</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
    <servlet-name>bgn</servlet-name>
    <url-pattern>*.bgn</url-pattern>
</servlet-mapping>
cs

지난 포스팅에서 WebApplicationContext들의 경로를 살짝 바꿔주었는데, 바뀐 경로를 잘 설정할 차례다.
/WEB-INF/conf 디렉토리 하위에 WebApplicationContext를 모아둘 목적으로 구성하였기 때문에, root-context.xml을 위치시켰다.
다음으로, DispatcherServlet의 이름은 bgn으로 지어주었고, .bgn으로 끝나는 모든 url을 DispatcherServlet이 가로채서 처리할 수 있도록 했다.

4. 바꾸고 난 후

web.xml4
앞으로 사용할 web.xml의 모습이다.
지금은 필요한 것만 선언하여서 코드가 다소 간단하지만, 앞으로 많은 기능을 추가할수록 복잡해지니까 알아보기 쉽게 잘 정리를 해놓도록 하자.

처음 생긴 index.jsp

이제 web.xml의 내용이 잘 적용됐는지 간단하게 테스트를 해보도록 하자.
맨 처음에 추가한 index.jsp 페이지를 만들어서 접속이 잘 되는지 확인하려고 한다.
/src/main/webapp에 index.jsp를 만들 건데, jsp가 보이지 않는다면 아래처럼 하면 찾을 수 있다.

index1
webapp를 우클릭하고 New > Other 메뉴를 선택하면 Web 폴더 안에 JSP File이 있다.
선택하고 다음으로 넘어간다.

index2
경로를 한번 확인하고, File Name을 index.jsp로 바꾼 다음 Finish를 누르면 만들어진다.

1
2
3
4
5
6
7
8
9
10
11
12
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
    <strong>처음 시작하는 index.jsp</strong>
</body>
</html>
cs

만들어진 index.jsp 파일을 열어서 간단하게 화면에 출력하고 싶은 내용을 쓰고 저장하자.

index4
서버를 실행하고 접속해보면 우리가 지정해준 index.jsp가 잘 나오는 것을 볼 수 있다.
이렇게 해서 web.xml이 잘 적용이 되고 있는 것을 확인하였다.

다음 포스팅에선 WebApplicationContext에 대한 설정을 정리해볼 예정이다.

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함