Spring

UrlFilenameViewController 샘플 작성 하기

스마트큐브 2009. 12. 22. 17:22
처음 블로그를 생성할 당시만에도 열심히 강좌(?)를 써나가야겠다 싶었는데.. 막상 하고 나면

밀려들어오는 귀차니즘인해 팡팡 놀다가.  정말 간만에 또 끄적거려본다.

홈페이지 용으로 굳이 스프링MVC 를 써야하는지에 대한 의문은 여전히 들고 있긴 하지만

일단 이 글에서는 스프링MVC 를 쓴다고 가정했을때 가장 심플하게 MVC 를 사용한다면 어떨까 싶어서 고민끝에
아래와 같은 결과물을 생성해 냈다.

* 환경 
CPU :  Core2 Duo T7300
RAM : 3GB 
OS : Window XP SP3 
WAS  : Tomcat 6.0.20
IDE : Eclipse 3.5
JDK: 1.6

일단 큰 흐름은 이전에 포스팅했던 것과 동일 하지만 상세 설정부분이 약간만 다르다. 
가장 큰 차이는 일단 컨트롤러를 작성할 필요가 없다! 
 
1. Dynamic Web Project  생성 (이전과 동일 SKIP)
2. lib 에 필요한 라이브러리 추가
3. web.xml 수정
4. dispatcher-servlet.xml 추가 및 수정
5. jsp 파일 추가 

테스트 


2. lib 에 필요한 라이브러리 추가
일단 MVC 에 무조건 필요한  common-logging, spring, spring-mvc 이외에
추가해야할 라이브러리가 있다

log4j 관련 라이브러리 : log4j1.x.jar

JSTL 사용을 위한 라이브러리 : standard.jar, jstl.jar

3. web.xml 수정

<!-- Encoding Filter -->
 <filter>
  <filter-name>CharacterEncodingFilter</filter-name>
  <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
  <init-param>
   <param-name>encoding</param-name>
   <param-value>EUC-KR</param-value>
  </init-param>
  <init-param>
   <param-name>forceEncoding</param-name>
   <param-value>true</param-value>
  </init-param>
 </filter>
 <filter-mapping>
  <filter-name>CharacterEncodingFilter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>
 
 <listener>
  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
 </listener>
 
 <!-- Spring Front Controller -->
 <servlet>
  <servlet-name>dispatcher</servlet-name>
  <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>dispatcher</servlet-name>
  <url-pattern>*.do</url-pattern>
 </servlet-mapping>
 <welcome-file-list>
  <welcome-file>index.html</welcome-file>
  <welcome-file>index.htm</welcome-file>
 </welcome-file-list>

4. Dispatcher-servlet.xml

<!-- HandlerMapping -->
 <bean id="handlerMapping"
  class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
  <property name="mappings">
   <props>
    <prop key="**/*.do">urlController</prop>
   </props>
  </property>
 </bean>
 <!-- Controller -->
 <bean id="urlController"
  class="org.springframework.web.servlet.mvc.UrlFilenameViewController"></bean>
 <!-- ViewResolver -->
 <bean id="internalResourceViewResolver"
  class="org.springframework.web.servlet.view.InternalResourceViewResolver">
  <property name="viewClass">
   <value>org.springframework.web.servlet.view.JstlView</value>
  </property>
  <property name="prefix">
   <value>WEB-INF/jsp/</value>
  </property>
  <property name="suffix">
   <value>.jsp</value>
  </property>
 </bean>


5. jsp 수정

view resolver 에 있는데로 WEB-INF/index.jsp 에 파일을 추가한후에
index.html 을 이렇게 수정하고  테스트!
<html>
<body>
<a href="index.do"> 인덱스</a>
</body>
</html>