[Servlet] web.xml 주요 태그

2020. 6. 10. 16:36 Java 관련/JSP,Servlet

web.xml 주요 태그


web.xml파일은 웹 컨테이너와 웹 프로그램의 파일을 서로 연결하고 관리하는 설정 파일이다.

웹 프로그램은 항상 자바를 지원하는 웹 컨테이너에서 실행된다. 때문에 해당 웹 컨테이와의 연게를 반드시 염두에 두어야 한다. 프로젝트별로 환경을 설정하고 파일들 간에 관계를 설정할 때는 web.xml 파일이 기준이 된다. 

web.xml 파일은 웹 서버가 서블릿 파일을 인식하게 해준다.

이 파일은 서블릿의 등록뿐 아니라 필터 클래스의 등록과 맵핑 등 다양한 설정을 지원한다.

주목할 점은 web.xml이 웹 서버를 구동할 때 읽혀진다는 것이다. 만일 특정 작업에 필요해서 web.xml 파일을 수정하고 웹 서버를 재구동하지 않으면 당연히 web.xml 파일은 인식되지 않는다.


<web-app>

<display-name> 프로젝트명 </display-name> 


<filter>  <filter> 전체

<filter-name> 필터 닉 네임 </filter-name>  <filter-name>

<filter-class> 필터 클래스 풀 네임(패키지 명까지) </filter-name>  ⓓ 

<init-param> ⓔ <init-param> 전체

<param-name> 매개변수 명 </param-name>

<param-value> 값 </param-value>

</init-param>

</filter> 

<filter-mapping>  ⓕ <filter-mapping> 전체

<filter-name> 필터 닉 네임 </filter-name> 

<url-pattern> 필터 클래스가 실행될 위치 </url-pattern> 

</filter-mapping>


<serlvet> ⓙ <serlvet> 전체

<servlet-name> 서블릿 닉 네임 </servlet-name> 

<serlvet-class> 서블릿 클래스 풀네임(패키지 명까지) </servlet-class> ⓜ </servlet-class> 전체

<init-param>

<param-name> 매개변수명 </param-name>

<param-value> 값 </param-value>

</init-param>

<load-on-startup> 실행 순서 값(0값은 서버임의실행) </load-on-startup> 

</servlet>

<servlet-mapping>  <servlet-mapping> 전체

<servlet-name> 서블릿 닉 네임 </servlet-name>

<url-pattern> url 패턴 </url-pattern>  

</servlet-mapping>


<welcome-file-list>  <welcome-file-list> 전체

<welcome-file> 기본 파일 </welcome-file>

</welcom-file-list>

</wep-app>


ⓐ web.xml 파일이 속한 프로젝트의 이름을 적는다.


ⓑ 프로젝트에서 사용될 필터 클래스를 등록한다.


ⓒ 필터 클래스의 닉네임을 적는다. 임의로 정해도 된다.


ⓓ 해당 클래스에 대해 패키지의 이름까지 전체를 등록한다. 패키지가 아니면 클래스 이름만 등록한다.


ⓔ 해당 필터 클래스가 실행되면서 기본적으로 갖는 초기화 매개 변수를 적는다. 여러 개를 등록해도 된다. void main(String [] ar) 메서드의 ar[0], ar[1] 등과 같은 개념이라고 보면된다.

void main() 메서드에서는 ar이라는 이름으로 사용하지만 여기서는 변수의 이름과 값을 모두 등록해야 한다.


ⓕ 해당 필터 클래스가 실행되는 시점을 등록한다.


ⓗ 실행될 필터 클래스의 닉네임을 적는다. ⓒ에서 적은 이름과 대소문자까지 같아야 한다.


ⓘ 실행될 시점을 지정한다.


ⓙ 서블릿을 웹 컨테이너에 등록하고 있다. 여러 개를 등록해도 된다.


ⓚ 서블릿의 닉네임을 등록한다. 닉네임은 클래스의 이름이 너무 길 때 편의상 사용한다. 클래스 이름이 짧으면 클래스 이름과 동일하게 등록해도 무방하다.


ⓜ 필터 클래스처럼 서블릿이 실행될 때 초기값으로 전달될 매개변수를 적고 있다. 여러 개를 등록해도 무방하다.


ⓝ 웹 서버가 구동될 때 서블릿의 init() 메서드를 미리 실행할지 지정하고 있다. 각 서블릿의 생성/초기화 순서를 의미한다.

(값이 작은 것이 먼저 실행)


ex.) B 서블릿 -> A 서블릿 -> C 서블릿 순: B:1, A:2, C:3으로 지정한다.


ⓞ 앞서 등록한 서블릿을 웹 브라우저에서 호출하면서 사용하는 이름을 등록하는 코드이다. 


ⓟ 실행 시점을 지정한다. ex.) <url-pattern> /*.do </url-pattern> 로 지정하면, URL do로 끝나면 해당 서블릿이 실행된다.


ⓠ 클라이언트의 사용자가 웹 브라우저로 웹 서버에 접속할 때 기본적으로 보여주는 메인 페이지를 등록하고 있다.



출처: https://devbox.tistory.com/entry/Servlet-서블릿에서-webxml-파일의-역할?category=574550 [장인개발자를 꿈꾸는 :: 기록하는 공간]