Tomcat 4.1.12 버전에서 서블릿 접근이 안되는 경우

원인

/conf/web.xml

파일에서

invoker 서블릿의 매핑이 보안문제로 막혀있습니다.

    <!-- The mapping for the invoker servlet -->
<!--
    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>
-->

examples context 가 되는 이유

/webapps/examples/WEB-INF/web.xml

파일에서 invoker 서블릿을 다시 매핑합니다.

...

    <!-- Define filter mappings for the defined filters -->
    <filter-mapping>
        <filter-name>Servlet Mapped Filter</filter-name>
 <servlet-name>invoker</servlet-name>
    </filter-mapping>
    <filter-mapping>
        <filter-name>Path Mapped Filter</filter-name>
 <url-pattern>/servlet/*</url-pattern>
    </filter-mapping>

...중략...


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

...

 

 

해결법

/conf/web.xml 에서

invoker mapping 을 주석을 풀어줍니다.

    <!-- The mapping for the invoker servlet -->
    <servlet-mapping>
        <servlet-name>invoker</servlet-name>
        <url-pattern>/servlet/*</url-pattern>
    </servlet-mapping>

dtd 에 의거해서

security-constraint 엘리먼트를 /conf/web.xml 파일의 welcome-file-list 엘리먼트 아래쪽 <web-app> 에 중첩되게 복사합니다.

다음과 같을 것입니다.

...

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

    <security-constraint>
      <display-name>Default Servlet</display-name>
      <!-- Disable direct alls on the Default Servlet -->
      <web-resource-collection>
        <web-resource-name>Disallowed Location</web-resource-name>
    
    <url-pattern>/servlet/org.apache.catalina.servlets.DefaultServlet/*</url-pattern>
        <http-method>DELETE</http-method>
        <http-method>GET</http-method>
        <http-method>POST</http-method>
        <http-method>PUT</http-method>
      </web-resource-collection>
      <auth-constraint>
        <role-name></role-name>
      </auth-constraint>
    </security-constraint>
   

</web-app>

그후에 톰캣을 재시동하고 테스트해보면 됩니다.

/conf/web.xml 파일 첨부합니다.


 

'web' 카테고리의 다른 글

[펌] Axis Webservice 설치및 테스트  (0) 2005.09.03
[펌] web.xml 사용법  (0) 2005.07.23
web.xml 설명.  (0) 2005.02.04
server.xml  (0) 2005.02.04
web.xml  (0) 2005.02.04
Posted by '김용환'
,