프로그래머의 삶 Programmer's Life/SpringFramework

SpringMVC web.xml

Oliver's World 2008. 11. 1. 15:49
728x90

web.xml 에서는

1. 클라이언트의 요청을 전달받을 DispatcherServlet설정

2. 공통 사용할 어플리케이션 컨텍스트 설정

을 한다. 그 내용은 아래와 같다.


<?xml version="1.0" ENCODING="UTF-8"?>
<web-app id="WebApp_ID" version="2.4"
 xmlns="http://java.sun.com/xml/ns/j2ee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
 <display-name>mEngine</display-name>
 <welcome-file-list>
  <welcome-file>index.jsp</welcome-file>
 </welcome-file-list>



공통으로 사용할 기본설정 파일을 지정하여 읽어오도록 한다.


 <context-param>
  <param-name>contextConfigLocation</param-name>
  <param-value>/WEB-INF/applicationContext*.xml</param-value>
 </context-param>
 
 <listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>


 <!-- log4j  설정 부분 --> SPRING API 에 명시되어있다.(미설정시 경고뜸!)


 <context-param>
  <param-name>log4jConfigLocation</param-name>
  <param-value>/WEB-INF/properties/log4j.properties</param-value>   -> param-value 로 위치지정하는데...이 위치지정이 좀 이상하다..-_-;
 </context-param>


 <!-- Listener -->
 <listener>
  <listener-class>
   org.springframework.web.util.Log4jConfigListener
  </listener-class>
 </listener>
 <!-- log4j  설정 끝 -->


한글 인코딩을 위한 필터. 여기에 필터를 둘 경우 모든 요청이 이 필터를 먼저 거치게되어 각 컨트롤러마다 한글 필터 설정을 해 줄 필요가 없어 편리하다~


 <filter>
  <filter-name>ENCODING Filter</filter-name>
  <filter-class>common.filter.ENCODINGFilter</filter-class>
  <init-param>
   <param-name>ENCODING</param-name>
   <param-value>EUC-KR</param-value>
  </init-param>
 </filter>

 <filter-mapping>
  <filter-name>ENCODING Filter</filter-name>
  <url-pattern>/*</url-pattern>
 </filter-mapping>



 <servlet>
  <servlet-name>action</servlet-name>
  <servlet-class>
   org.springframework.web.servlet.DispatcherServlet
  </servlet-class>


기본 설정 파일이 아닌 파일들로부터 설정정보를 읽어오고 싶다면, DispatcherServlet을 설정할 때 contextConfigLocation초기화 파라미터에 설정파일 목록을 아래와 같이 지정하면 된다.


  <init-param>
   <param-name>contextConfigLocation</param-name>
   <param-value>
    /WEB-INF/spring-config/action-servlet.xml,
    /WEB-INF/spring-config/user-servlet.xml,
    /WEB-INF/spring-config/album-servlet.xml,
    /WEB-INF/spring-config/order-servlet.xml,
    /WEB-INF/spring-config/sales-servlet.xml,
    /WEB-INF/spring-config/setup-servlet.xml,
    /WEB-INF/spring-config/adminmain-servlet.xml,
    /WEB-INF/spring-config/clientmain-servlet.xml
   </param-value>


was로 올릴때 바로 초기화 해준다.


  </init-param>
  <load-on-startup>1</load-on-startup>
 </servlet>


모든 요청은 *.do 형태인 것에대한 처리만 제공하며 이는 Servlet명이 action 으로 처리되며 이 action은 위쪽은 DispatcherServlet 서블릿 클래스오 이어진다~


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

</web-app>

728x90