Tomcat如何运行没有做mapping的servlet

Tomcat有一个类org.apache.catalina.servlets.InvokerServlet,它负责处理没有做Servlet Mapping的那些Servlet.但是,在tomcat安装目录的conf/web.xml中,系统默认情况下把org.apache.catalina.servlets.InvokerServlet的注册与地址映射注释了.

 

<!--
    <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>
-->

 

所以,去掉注释符,重新启动一次Tomcat,就可以按照http://localhost:8080/你的应用路径(path)/servlet/youservlet格式访问你没有进行地址映射的servlet了.

 

如果在在启动Tomcat时报错,说

org.apache.catalina.servlets.InvokerServlet is privileged and cannot be loaded by this web application.

 

使tomcat应用无法加载.可以按照以下解决办法处理:

在conf/context.xml中的<Context>标签中添加参数privileged="true",即将其修改为

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

 

重启Tomcat.

 

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/bjhdy/archive/2008/11/24/3361698.aspx

posted @ 2009-07-20 15:07  arix04  阅读(1708)  评论(1编辑  收藏  举报