일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 포항 지진
- 펭수 달력
- 이클립스 알고리즘 세팅
- 지진
- nodejs
- 이클립스 알고리즘 환경
- 백준 10951번
- Eclipse Althrithm
- 백준 알고리즘
- 백준 10950번 java
- 오라클
- 백준 10951번 c++
- 백준 1000번
- 백준10950번 c++
- oracle
- 백준 1000번 c
- 배열 복사
- 2020 펭수 달력
- RETURN ROW IF NO DATA FOUND
- 티스토리 초대장
- 백준 10951번 c
- 백준 1000번 c++
- 백준 10950번 c
- 자바스크립트
- 펭수 2020 달력
- JavaScript
- 백준 10951번 java
- 티스토리 초대장 이벤트
- 백준 10950번
- 백준 1000번 java
- Today
- Total
스노우보드 참 좋아하는데 맨날 키보드 앞에만 있네
web.xml 파일과 배포서술자(Deployment Descritor) 본문
web.xml 이란?
web.xml 파일은 웹 어플리케이션을 구성하는 웹 컴포넌트에 대한 구성 및 배치 정보를 제공하며, 웹 어플리케이션의 배포서술자(Deployment Descriptor ; DD) 역할을 하는 XML 형식의 파일이다.
더 쉽게 설명하면, 웹 어플리케이션에서 서블릿 클래스를 사용하려면, 설치 뿐만 아니라, 웹 프로젝트 상에서 등록하는 과정이 필요한데, 서블릿 클래스를 등록하는 곳을 배포서술자(Deployment Descriptor ; DD)라고 하며, 이 역할을 web.xml 파일에서 한다.
다음은 왜 웹 어플리케이션에서 배포서술자를 사용하는지에 대한 설명이다.
1. 컨테이너 호환성 유지
웹 어플리케이션의 배포와 관련된 정보를 제공함으로써 서로 다른 컨테이너에서도 별도의 설정 없이 동일한 어플리케이션을 운영할 수 있다.
2. 효율적인 어플리케이션 유지보수
특정 서블릿 혹은 전체 어플리케이션에서 공유하기 위한 초기화 파라미터의 설정이 가능하므로, 어플리케이션 프로그램 간 데이터 공유가 용이하다.
3. 유연한 어플리케이션 운영
서블릿 매핑 등 다양한 정보를 텍스트 기반으로 설정할 수 있으므로, 서비스 운영 중 프로그램을 수정하지 않고도 어플리케이션 동작 등에 대한 조정(커스터마이징)이 가능하다.
배포서술자는 WAS 구동 시 web.xml을 읽어 Web Applicationdml 설정을 구성하므로, web.xml 파일을 수정할 경우에는 WAS를 재구동 해야한다.
web.xml 파일은 웹 어플리케이션 디렉토리마다 하나씩 존재할 수 있다.
web.xml의 위치
Java EE 기준으로 web.xml 파일은 웹 어플리케이션에 존재하는 디렉토리 계층 구조의 컨텍스트 아래에 있는 WEB-INF 디렉토리 하위에 있다.
웹어플리케이션폴더 > WebContent > WEB-INF > web.xml
사용예시
아래의 web.xml 예제스크립트는 Sample 웹 어플리케이션에서 SampleServlet을 선언하는 방법을 나타낸다.
web.xml 파일에서 <servlet> XML 요소는 SampleServlet을 선언하고, examples.Sample Java 클래스는 서블릿을 구현한다.
또한, <servlet-mapping> XML 요소는 서블릿을 호출하는 /sample URL 패턴을 지정하는데, 이 URL 패턴은 index.html 파일에서 사용된다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 |
<?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/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>Sample Application</display-name>
<description>
This is a simple web application with a source code organization
based on the recommendations of the Application Developer's Guide.
</description>
<servlet>
<servlet-name>SampleServlet</servlet-name>
<servlet-class>examples.Sample</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>SampleServlet</servlet-name>
<url-pattern>/sample</url-pattern>
</servlet-mapping>
</web-app> |
|
Create servlet without 'web.xml'
서블릿 초기 표준에는 web.xml 이 반드시 필요했지만, 서블릿 3.0 버전부터 Annotation을 지원하게 되면서, 더이상 서블릿 클래스나 필터 사용을 위해 web.xml에 기술하지 않아도 프로그래밍하는 것이 가능해졌다. 서블릿 사용 시 @WebServlet을 써주면 된다.
'개발 > Java, SpringFramework' 카테고리의 다른 글
Java의 컬렉션 프레임워크(Collection Framework) (0) | 2018.05.22 |
---|---|
메서드 시그니처(Method signature) (0) | 2018.05.21 |
오버로딩 vs 오버라이딩 (0) | 2018.05.21 |
UTF-8 설정하기(부제 : 한글깨짐현상 해결) (0) | 2017.12.12 |
transactionaleventlistenerfactory not found 이슈 (0) | 2017.12.11 |