web.xml은 xml파일이다. 따라서 xml 작성과 동일한 규칙이 적용된다.
환경설정은 <web-app>으로 시작하고 </web-app>로 끝난다. 그외 삽입되는 요소로는 다음과 같다.
.ServletContext Init Parameters
.Session Configuration
.Servlet/JSP Definitions
.Servlet/JSP Mappings
.Mime Type Mappings
.Welcom File list
.Error Pages
web.xml의 elements의 순서
각 element의 순서는 아래 순서에 따른다.
<icon?>, <display-name?>, <description?>, <distributable?>, <context-param*>, <filter*>, <filter-mapping*>, <listener*>, <servlet*>, <servlet-mapping*>, <session-config?>, <mime-mapping*>, <welcome-file-list?>, <error-page*>, <taglib*>, <resource-env-ref*>, <resource-ref*>, <security-constraint*>, <login-config?>, <security-role*>, <env-entry*>, <ejb-ref*>, <ejb-local-ref*> |
<display-name>어플리케이션 이름</display-name>
<description>어플리케이션 설명</desciption>
<!--서블릿 매핑 클래스 설정-->
<servlet>
<servlet-name>BoardFrontController</servlet-name> //클래스명
<servlet-class>kr.co.board.controller.BoardFrontController</servlet-class> //클래스경로+클래스명
<load-on-startup>1</load-on-startup> //서블릿주기 init()메소드의 실행 시 서버스타트 우선권
//init()메소드는 한번 호출되면 차 후에는 destroy()될때까지 그안에 있는 로직이 메모리에 정적 저장
</servlet>
<!--서블릿 매핑 설정-->
<servlet-mapping>
<servlet-name>BoardFrontController</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<!--JDBC 매핑-->
<resource-ref>
<description>Connection</description>
<res-ref-name>jdbc/OracleDB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
<!--존재 하지 않는 경로(404) 에러 페이지 설정 -->
<error-page>
<error-code>404</error-code>
<location>/error.jsp</location>
</error-page>
<!-- 태그 라이브러리 설정 -->
<taglib>
<taglib-uri>taglibs</taglib-uri>
<taglib-location>/WEB-INF/taglibs-cacahe.tld</taglib-location>
</taglib>
출처 : http://blog.daum.net/revolo/3368937 내용 정리