Spring_Project_Setting_2
기본적인 파일구조 중에서 서블릿 설정과 web.xml 설정을 간단하게 맛만 보았다. 이제는 MVC패턴이라고 하는 것을 간단히 볼려고 한다.
MVC패턴이란?
- MVC란 Model-View-Controller의 약자로, 사용자 인터페이스와 비지니스 로직을 분리하여 웹 개발을 하는 것 을 가장 큰 장점으로 한다.
- MVC 패턴도 MVC 모델 1과 MVC 모델 2로 나뉘어져 있는데, 요즘에는 MVC라고 하면 당연히 MVC 모델 2를 의미한다. 따라서 여기서는 MVC 모델 2 (이하 MVC)를 기준 으로 진행한다.
- Model : 모델은 애플리케이션의 정보, 즉 데이터를 나타낸다.
- View : 뷰는 사용자에게 보여주는 인터페이스, 즉 화면을 이야기한다. 자바 웹 애플리케이션에서는 JSP를 의미한다.
- Controller : 컨트롤러는 비지니스 로직과 모델의 상호동작의 조정 역할 을 한다. MVC2에서는 서블릿이 흐름을 제어하는 컨트롤러 역할을 수행한다.
pom.xml
우리가 이전편에서도 나왔던 pom.xml이다. 이곳은 프로젝트에서 필요한 모든 라이브러리들을 관리할 수 있독록 구성되어 있는 곳이다.
<properties></properties>
태그는 변수의 개념으로 생각하면 된다. 우리가 프로그래밍을 하면서 어떠한 값은 상수 (java에서 final static 으로 선언)로 선언하는 경우가 많은데, 이는 그 변수는 여기저기서 많이 사용되는 변수이기 때문이다. 이러한 변수를 직접 소스 여기저기에 일반적인 값으로 써놓으면, 그 값을 변경해야 할 경우, 모든 소스에서 일일이 변경해야하는 경우가 발생한다. 이럴때, 상수로 선언해놓고, 그 하나만 변경하면 쉽게 값을 변경하면서도 다른 소스는 수정할 필요가 없다.
<properties>
<java-version>1.6</java-version>
<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
</properties>
- 잠시 살펴보면
<org.springframework-version>3.1.1.RELEASE</org.springframework-version>
라는것을 볼 수 있는데, 이 글을 시작할때 Spring 3.1.1 버전을 사용하기 때문에, 이 값을 이렇게 선언하였다. 만약 스프링 버전을 변경하고 싶으면 이 변수만 바꿔주면 된다.
-
<repositories></repositories>
태그다. 이는 실제 라이브러리를 다운받을 저장소 를 의미한다. 보통은 따로 설정할 필요가 없다. 하지만 프로젝트를 진행하다보면 인터넷에 연결할 수 없는 프로젝트도 상당히 많은데, 이럴때 내부 저장소를 만들어놓고, 개발자들은 내부저장소에서 라이브러리를 다운받도록 되어있다. -
그 다음으로
<dependencies><dependencies>
태그는 실제 라이브러리를 지정 한다.
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework-version}</version>
</dependency>
설정파일 변경 (web.xml, action-servlet.xml 등등)
1. web.xml 설정(UTF-8설정)
<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>*.do</url-pattern>
</filter-mapping>
2. web.xml 설정(servlet 경로 설정)
<servlet>
<servlet-name>action</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
/WEB-INF/config/*-servlet.xml
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
3. web.xml 설정(스프링 설정 파일 경로 설정)
<!-- 스프링 설정 파일 추가 -->
<context-param>
<param-name>contextConfigLocation</param-name>
<!-- root-context 제거 -->
<param-value>classpath*:config/spring/context-*.xml</param-value>
</context-param>