서블릿 배포 기술자
영어로는 DD (Deploment Descriptor)라고 한다.
web.xml은 WAS (Web Application Server)(Tomcat 등)이 최초 구동될 때,
WEB-INF 디렉토리에 존재하는 web.xml을 읽고,
그에 해당하는 웹 애플리케이션 설정을 구성한다.
다시 말해, 각종 설정을 위한 설정파일이라고 이야기 할 수 있다.
////////////////////////////////////////////////////////////////////
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath*:config/spring/context-*.xml</param-value>
</context-param>
<context-param> 에 설정된 xml에 들어 있는 설정들을 모든 서블릿과 필터가 공유
///////////////////////////////////////////////////////////////////
<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>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet> : 서블릿 정의
<servlet-name> : 서블릿의 이름
<servlet-class> : 서블릿 클래스 지정 - 패키지 경로를 포함한 클래스 이름이어야 한다.
<init-param> : - <param-name> 파라미터의 이름
- <param-value> 서블릿 설정 내용이 들어 있는 .xml 파일의 경로가 들어가게 된다.
<load-on-startup> : 서버가 시작 될 때 초기화 순서를 정한다. 0보다 크면서 숫자가 작을수록 우선순위가 높다.
<servlet-mapping> : 서블릿이 처리할 URL 패턴 정의
<servlet-name> : 정의된 서블릿 중 서블릿 이름으로 매핑되어질 서블릿 선택
<url-pattern> : URL 의 패턴 입력
- / : 모든 URL 을 받아들이는데 이 URL 들은 다른 패턴에서 다 걸러지고 남은 URL 들만 받게된다.
- /* : / 와 같이 모든 URL을 다 받아들이지만 /와는 반대로 무조건 모든 URL 을 받아들이게 된다.
///////////////////////////////////////////////////////////////////
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
모든 servlet들과 filter들에 의해 공유되는 spring container를 생성
///////////////////////////////////////////////////////////////////
<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>
필터는 요청을 처리하기 전에 특정한 일을 수행하기 위해 주로 사용
///////////////////////////////////////////////////////////////////
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
클라이언트의 사용자가 웹 브라우저로 웹 서버에 접속할 때 기본적으로 보여주는 메인 페이지