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>