본문으로 건너뛰기

Tomcat 6.0.x에서 servlet URL 매핑은 어떻게 하나요?

💡 요약 정리

  • Tomcat 6.0은 보안상 기본 클래스 URL 매핑인 /servlet/이 동작하지 않습니다.
  • /www/WEB-INF/web.xml에 InvokerServlet과 /servlet/* 매핑을 추가하세요.
  • /tomcat/conf/context.xml에서 privileged="true"로 설정하세요.
  • 변경 후 Tomcat을 재시작해야 적용됩니다.

1. 변경 전 알아두기

  • Tomcat 6.0에서는 보안 정책 때문에 기본 클래스 URL 매핑인 /servlet/ 경로가 기본값으로 비활성화되어 있습니다. 따라서 수동 설정이 필요합니다.
  • /tomcat/conf/web.xml은 운영 안정성을 위해 권한상 수정할 수 없습니다.
    • 대신 애플리케이션 전용 설정 파일인 /www/WEB-INF/web.xml에 매핑을 추가해야 합니다.

2. 설정 방법

1) /www/WEB-INF/web.xml에 매핑 추가

아래 내용을 /www/WEB-INF/web.xml 파일의 적절한 위치에 추가하세요.

<servlet>
<servlet-name>invoker</servlet-name>
<servlet-class>
org.apache.catalina.servlets.InvokerServlet
</servlet-class>
<init-param>
<param-name>debug</param-name>
<param-value>0</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>

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

2) /tomcat/conf/context.xml 수정

Context 설정에 privileged 속성을 활성화하세요.

<Context reloadable="true" privileged="true">

3) Tomcat 재시작

  • 위 설정을 반영하려면 Tomcat을 재시작해야 합니다.