web.xml 파일은 Tomcat과 같은 서블릿 컨테이너에 웹 애플리케이션을 배포하는 방법을 설명합니다.
이 파일은 Tomcat에 배포하는 모든 애플리케이션에 필요합니다.
파일의 위치는 항상 동일하며, application root / WEB-INF / web.xml에 위치하게 됩니다.
web.xml 파일의 태그는 <web-app>태그로 감싸져 있으며, 톰캣 버전별로 XSD, DTD선언이 조금씩 달라집니다.
1. 톰캣버전별 web.xml 예시
아래의 예시는 톰캣 버전별로 <web-app>태그의 버전예시입니다.
1) Tomcat 8.0
1
2
3
4
5
6
7
|
<?xml version="1.0" encoding=UTF-8?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_1.xsd"
version="3.1">
</web-app>
|
cs |
2) Tomcat 7.0
1
2
3
4
5
6
7
8
|
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
</web-app>
|
cs |
3) Tomcat 6.0
1
2
3
4
5
6
7
|
<?xml version="1.0" encoding="UTF-8"?>
<web-app 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/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
</web-app>
|
cs |
다음으로 몇가지 자주사용되는 태그들에 대해서 정리해보겠습니다.
2. 주요 태그 정리
1) <servlet> 태그
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<!-- ========================================================== -->
<!-- Servlets -->
<!-- ========================================================== -->
<servlet>
<servlet-name>Simple</servlet-name>
<servlet-class>SimpleServlet</servlet-class>
<description>This is a simple Hello World servlet</description>
</servlet>
<servlet-mapping>
<servlet-name>Simple</servlet-name>
<url-pattern>/servlet/SimpleServlet</url-pattern>
</servlet-mapping>
|
cs |
이 태그는 java서블릿 및 매개변수를 지정하는데 사용되는 컨테이너태그입니다.
InvokerServlet이 활성화되어 있지 않으면 서블릿을 직접 호출할 수 없으므로 Tomcat에 서블릿 호출시기를 알리려면
각 서블릿에 대해 하나 이상의 서블릿 태그 및 서블릿 매핑이 있어야 합니다.
2) <listener> 태그
1
2
3
4
5
6
7
8
|
<!-- ========================================================== -->
<!-- Listeners -->
<!-- ========================================================== -->
<!-- Define example application events listeners -->
<listener>
<listener-class>com.metawerx.listener.ContextListener</listener-class>
</listener>
|
cs |
웹 애플리케이션에 대한 리스너를 정의합니다.
리스너는 애플리케이션 또는 세션 이벤트와 같은 다양한 이벤트에 대한 알림을 받습니다.
3) <filter> 태그
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<!-- ========================================================== -->
<!-- Filters -->
<!-- ========================================================== -->
<!-- Example filter to set character encoding on each request (from Tomcat servlets-examples context) -->
<filter>
<filter-name>Set Character Encoding</filter-name>
<filter-class>filters.SetCharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>Set Character Encoding</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
|
cs |
이 태그는 Java 필터와 매개변수를 지정하는데 사용되는 컨테이너 태그입니다.
서블릿 또는 JSP페이지가 호출되기 전에 필터가 실행되므로 최종 서블릿 / 페이지에 도달하기 전에 1개 이상의 필터를 체인 할 수 있습니다.
가장 큰 장점은 애플리케이션 외부에 있을 수 있으며 독립형 모듈이라는 것입니다.
4) <error-page> 태그
1
2
3
4
5
6
7
8
9
|
<!-- ========================================================== -->
<!-- Error Handler -->
<!-- ========================================================== -->
<!-- Define an error handler for 404 pages -->
<error-page>
<error-code>404</error-code>
<location>/error404.jsp</location>
</error-page>
|
cs |
사용자 지정 오류 페이지를 정의하는데 사용되는 컨테이너 태그입니다.
출처 - wiki.metawerx.net/wiki/Web.xml
'노빠꾸 개발일지' 카테고리의 다른 글
[네이버 클라우드 플랫폼] 무료서버 사용하기(1년 무료) (0) | 2020.11.22 |
---|---|
[Mac OS] 맥북 OpenSSL 설치 (0) | 2020.11.02 |
[Tomcat] 톰캣에 War파일 배포하여 서버 실행하는 방법 (0) | 2020.10.28 |
[Eclipse] 이클립스 Dynamic Web Module 버전 변경 방법 (0) | 2020.10.27 |
[이클립스 플러그인 추천] Path Tools(경로복사, 경로 윈도우 폴더 오픈, 쉘스크립트 오픈) (2) | 2020.10.08 |