<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
    "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>


    <!-- 웹 어플리케이션의 일반적 설명 -->

    <display-name>My Web Application</display-name>
    <description>
      이것은 와일드하고 훌륭한 작업을 수행하는 servlet과 JSP
      기반한 애플리케이션의 X.X 버전입니다. 이 문서는 개발자
      Dave 가 작성했고, 더 자세한 정보를 원하시면
      dave@mycompany.com 으로 연락할 수 있습니다.
    </description>


    <!-- Context 초기 파라메터: 어플리케이션에서 사용되는 공유
         된 문자열 상수들을 선언합니다. 이것은 애플리케이션을
         설치하는 시스템 관리자가 변경할 수 있습니다. 이들 파
         라메터에 실질적으로 할당된 값들은 servlet 과 JSP page
         에서 다음과 같이 불러올 수 있습니다:

             String value =
               getServletContext().getInitParameter("name");

         여기서 "name" 은 <param-name> 이들 초기 파라메터 중에
         하나의 엘리먼트와 같습니다.

         컨텍스트 초기 파라메터의 갯수는 제한이 없고, 아무것도
         없어도 됩니다.
    -->

    <context-param>
      <param-name>webmaster</param-name>
      <param-value>myaddress@mycompany.com</param-value>
      <description>
        The EMAIL address of the administrator to whom questions
        and comments about this application should be addressed.
      </description>
    </context-param>


    <!-- 초기 파라메터를 포함해, 웹 애플리케이션을 구성하는
         servlet 에 대한 정의. Tomcat 에서, 브라우저에서 servlet
         요청시 아래와 같이 함으로 web.xml 파일에 등록안된 것도
         부를 수 있습니다:
        
           http://localhost:8080/{context-path}/servlet/{classname}

         그러나 이런 사용법은 유동성을 보장하지 못합니다. 또한
         servlet이 이미지나 다른 자원에 접근하기 위해서는 상대 경로
         를 지정해야 되는 등 servlet이 매우 복잡하게 됩니다. 그래서
         모든 servlet 을 정의해 주는 것을 (그리고 servlet-매핑 요소
         로 정의하는 것) 권장합니다.

         Servlet 초기 파라메터는 servlet 과 JSP page 에서 다음과 같
         이 불러올 수 있습니다:

             String value =
               getServletConfig().getInitParameter("name");

         여기서 "name" 은 <param-name> 이들 초기 파라메터 중에
         하나의 엘리먼트와 같습니다.

         servlet 갯수는 제한이 없고, 아무것도 없어도 됩니다.
    -->

    <servlet>
      <servlet-name>controller</servlet-name>
      <description>
        이 어플리케이션에 사용된 MVC 구조에서 이 servlet은 "controller"
        역할을 합니다. 보통 <servlet-mapping> 엘리먼트와 함께 ".do" 파일
        확장자로 매핑됩니다. 그리고 이 애플리케이션에서 사용되는 모든
        form은 요청하는 주소가 "saveCustomer.do" 처럼 지정됩니다. 이
        servlet에 매핑된 servlet입니다.

        이 servlet에 대한 초기 파라메터 명은 (파일 확장자가 제거된 후에)
        이 servlet 이 받는 "servlet path" 입니다. 상응하는 값은 이 요청을
        처리하는 데 사용할 action class 의 이름입니다.
      </description>
      <servlet-class>com.mycompany.mypackage.ControllerServlet</servlet-class>
      <init-param>
        <param-name>listOrders</param-name>
        <param-value>com.mycompany.myactions.ListOrdersAction</param-value>
      </init-param>
      <init-param>
        <param-name>saveCustomer</param-name>
        <param-value>com.mycompany.myactions.SaveCustomerAction</param-value>
      </init-param>
      <!-- 시동할 때 이 servlet을 서버에 로딩한다 -->
      <load-on-startup>5</load-on-startup>
    </servlet>

    <servlet>
      <servlet-name>graph</servlet-name>
      <description>
        이 servlet 은 동적으로 생성된 그래프 GIF 이미지를 생성합니다.
        이 요청에 포함된 입력된 파라메터값을 갖고 생성합니다. 보통
        "/graph" 라는 구별된 URI 요청에 매핑되어 있습니다.
      </description>
    </servlet>


    <!-- 특정한 요청 URI (context-상대적인)를 특정한 servlet으로 해석
         하는 servlet 컨테이너에 의해 사용되는 매핑을 선언하기.
         아래 예제는 위에 있는 servlet 설명과 관계있습니다. 그러므로,
         요청 URI 는 다음과 같습니다:
        
           http://localhost:8080/{contextpath}/graph

         주소는 "graph" servlet 에 매핑됩니다. 한편:

           http://localhost:8080/{contextpath}/saveCustomer.do

         은 "controller" servlet 에 매핑됩니다.

         servlet 매핑의 갯수는 제한이 없고, 아무것도 없어도 됩니다.
         원한다면 하나의 servlet 에 한 개 이상의 매핑을 해주어도 됩니다.
    -->

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

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


    <!-- 어플리케이션의 기본 세션 타임아웃 시간을 분단위로 설정합
         니다. servlet 이나 JSP page 에서, 동적으로 특정한 session
         에 대해 시간을 조정할 수 있습니다.
         HttpSession.getMaxInactiveInterval() 을 사용하면 됩니다.
    -->

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


</web-app>

'Xml' 카테고리의 다른 글

[Xml] Tomcat Server - Servlet 연결  (0) 2011.03.02
[Xml] Web.xml - 2  (0) 2011.03.02
[Xml] Ant - FTP 파일 업로드 하기  (0) 2010.12.22
[Xml] Filter를 사용하여 프로퍼티의 정보 활용  (0) 2010.12.08
[Xml] Web.xml - Filter  (0) 2010.12.08

+ Recent posts