본문 바로가기
WEB/Server

[Tomcat] conf/web.xml WEB-INF/web.xml 차이

개발은 글쓰기 부터
ppowerddev 2022. 1. 10.
반응형

한 줄 요약


  • conf/web.xml 은 default이고 WEB-INF/web.xml 은 재정의(Override) 한다.

 

파일 설명

context.xml (web.xml 파일을 설정 하는 상위 파일)


  • 톰캣에 있는 파일로 web application의 자원을 명시 해주는 파일이다.
  • 톰캣 서버가 실행되면 해당 파일의 WatchedResource 태그에 명시된 경로에 따라 web.xml의 코드를 읽는다.(tomcat web.xml ,project web.xml 둘 다 읽음)
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<WatchedResource>WEB-INF/tomcat-web.xml</WatchedResource>
<WatchedResource>${catalina.base}/conf/web.xml</WatchedResource>


conf/web.xml (Tomcat 폴더에서 파일 정의)


  • 톰캣에 있는 모든 web application의 기본설정을 정의한다. 
  • 톰캣의 실행환경 정보가 있는 '환경설정' 파일
  • 각종 servlet 설정, servlet매핑, 필터, 인코딩 등을 담당

▼ conf/web.xml 파일 구성 확인하기 ▼

더보기

구성

ServletContext의 초기 파라미터

DefaultServlet : 공유자원을 제공하며 servlet mapping을 가진 모든 요청을 처리한다.

<servlet>
<servlet-name>default</servlet-name>
<servlet-class>org.apache.catalina.servlets.DefaultServlet</servlet-class>
...
</servlet>

Servlet/JSP에 대한 정의

JspServlet : JSP의 컴파일과 실행을 담당하는 servlet

<servlet>
<servlet-name>jsp</servlet-name>
<servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
...
</servlet>

Servlet/JSP 매핑

<servlet-mapping>
	<servlet-name>default</servlet-name>
	<url-pattern>/</url-pattern>
</servlet-mapping>

<servlet-mapping>
	<servlet-name>jsp</servlet-name>
	<url-pattern>*.jsp</url-pattern>
</servlet-mapping>

Session의 유효시간 설정

<session-config>
	<session-timeout>30</session-timeout>
</session-config>

Mime Type 매핑

<mime-mapping>
     <extension>123</extension>
     <mime-type>application/vnd.lotus-1-2-3</mime-type>
</mime-mapping>

Welcome File list

<welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

 

WEB-INF/web.xml(프로젝트 폴더에서 파일 정의)


  • 추후 웹애플리케이션을 추가 할 때 필요한 부분만 재정의 또는 추가 정의 하는 부분이  WEB-INF/web.xml
  • web application이  deploy될 때 web application의 'WEB-INF/web.xml' deployment descripter에 따라서 처리
  • 각 web application 설정시, web.xml은 파일을 복사해서 필요한 것만 적으면 된다.

▼ WEB-INF/web.xml 파일 구성 확인하기 ▼

더보기

구성

Servlet/JSP에 대한 정의

<servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>
            org.springframework.web.servlet.DispatcherServlet
        </servlet-class>
        <init-param>
            <param-name>contextConfig</param-name>
            <param-value>
                /WEB-INF/config/
            </param-value>
        </init-param>
 </servlet>

Servlet/JSP 매핑

<servlet-mapping>
   <servlet-name>action</servlet-name>
   <url-pattern>*.do</url-pattern>
</servlet-mapping>

Session의 유효시간 설정

<session-config>
	<session-timeout>30</session-timeout>
</session-config>

Welcome File list

<welcome-file-list>
        <welcome-file>index.html</welcome-file>
        <welcome-file>index.htm</welcome-file>
        <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

JDBC 연결을 위한 정보

<resource-ref>
    <description>OracleDatasource</description>
    <res-ref-name>jdbc/oracle</res-ref-name>
    <res-type>javax.sql.DataSource</res-type>
    <res-auth>Container</res-auth>
</resource-ref>

filter에대한 정의 (HTMLTagFilter)

<filter>
	<filter-name>HTMLTagFilter</filter-name>
	<filter-class>egovframework.rfc3.common.filter.HTMLTagFilter</filter-class>
</filter>

filter 매핑 (HTMLTagFilter)

<filter-mapping>
	<filter-name>HTMLTagFilter</filter-name>
	<url-pattern>*.do</url-pattern>
</filter-mapping>

 

존재하지 않는 페이지, 400 에러시 처리 페이지 설정

<error-page>
	<error-code>400</error-code>
	<location>/WEB-INF/jsp/400error.jsp</location>
</error-page>

 

 

Reference

반응형

'WEB > Server' 카테고리의 다른 글

[Server] 프로토콜이란?  (0) 2024.03.27
[Apache]Apache Log4j 2.17 version  (0) 2021.12.23