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을 재시작해야 합니다.