본문 바로가기

IT 서비스 바라보기/Programming

web.xml에 서블릿 설정하기


Tomcat 4.X 버전 이후부터 보안상을 이유로 서블릿을 무조건 호출하는 대신 web.xml에
개별 서블릿에 대한 클래스 및 경로를 적도록 바뀐 것으로 알고 있습니다.


사용하려는 클래스와 그 클래스를 호출할 수 있는 경로가 쌍으로 기술되어져야 합니다.


<servlet>
        <servlet-name>servletName</servlet-name>
        <servlet-class>package.servletClass</servlet-class>
</servlet>

<servlet-mapping>
        <servlet-name>servletName</servlet-name>
        <url-pattern>servletURL</url-pattern>
</servlet-mapping>


* servlet

servlet-name: 아래 servlet-mapping에 기술해주기 위한 식별자입니다.

servlet-class: 실제 서블릿 클래스입니다. 패키지까지 정확하게 써야 합니다.


* servlet-mapping

servlet-name: 위의 servlet에 명시한 이름입니다.

url-pattern: 어떠한 URL 경로로 접근할 수 있는지를 명시합니다.


예를 봅시다.

file 패키지 안에 DownloadServlet.java 라는 파일이 있다고 가정하고,

 <servlet>
    <servlet-name>downloadServlet</servlet-name>
    <servlet-class>file.DownloadServlet</servlet-class>
 </servlet>


이 서블릿은 /servlet/download 와 같은 URL 패턴일 때 호출됩니다.

 <servlet-mapping>
  <servlet-name>downloadServlet</servlet-name>
  <url-pattern>/servlet/download</url-pattern>
 </servlet-mapping>


물론 Tomcat 4.X 버전까지는 예전과 같은 호출 방법도 가능합니다. 5.X 버전은 잘 모르겠네요.


 <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
 </servlet-mapping>


이렇게 쓰시면 서블릿마다 일일이 web.xml에 써주지 않아도 서블릿 호출이 가능합니다.

출처 : Tong - BlueSky_07님의 Java통