InvokerServlet 激活器"/>
InvokerServlet 激活器
2019独角兽企业重金招聘Python工程师标准>>>
提醒:InvokerServlet 激活器在tomcat5和tomcat6版本中有,tomcat7已经去掉。
下面是配置tomcat的InvokerServlet激活器的步骤:
每个web应用程序的WEB-INF目录下都有一个web.xml文件,其中记录了servlet的一些配置信息,在tomcat的conf目录下也有一个web.xml文件,这个xml文件是所有在该tomcat上部署的web应用程序的基础配置,就是说,每个web应用程序的web.xml都是在 conf/web.xml上的基础上进行扩展和覆盖的。
在<tomcat主目录>\conf\web.xml文件中可以看到,然后去掉注释:
<servlet> <servlet-name>invoker</servlet-name> <servlet-class> org.apache.catalina.servlets.InvokerServlet </servlet-class> <load-on-startup>2</load-on-startup>
</servlet> <servlet-mapping> <servlet-name>invoker</servlet-name> <url-pattern>/servlet/*</url-pattern>
</servlet-mapping>
如果有web应用程序的WEB-INF目录下的web.xml文件中也有以上InvokerServlet的配置信息的话,去掉,只留一份配置(一般情况下该文件下没有)
例如,在没有开启InvokerServlet激活器时,我们这样配置:
<servlet><servlet-name>HelloServlet</servlet-name><servlet-class>com.HelloServlet</servlet-class></servlet> <servlet-mapping><servlet-name>HelloServlet</servlet-name><url-pattern>/servlet/HelloServlet</url-pattern></servlet-mapping>
开启InvokerServlet激活器后,就可以去掉上面servlet的配置信息了。访问路径为:http://localhost:8080/项目名称/servlet/com.HelloServlet
这样就配置完了InvokerServlet激活器,然后就可以使用它了。
解释下以上配置的作用:我们一般在配置servlet时,需要在web应用程序的WEB-INF目录下的web.xml文件配置servlet的calss路径和servlet-mapping,如果开启了InvokerServlet激活器就不需要配置了,InvokerServlet激活器映射的访问路径以"/*"结尾,我们在访问servlet时,只需将 InvokerServlet激活器所映射的通配符(*)替换为具体的Servlet的完整类名,就可以通过InvokerServlet激活器来调用具体的Servlet程序。InvokerServlet的作用就是激活和调用任何其他Servlet,被称为Servlet激活器。
配置后,在启动tomcat时,可能会报以下错误:
Servlet of class org.apache.catalina.servlets.InvokerServlet is privileged and cannot be loaded by this web application
需要在tomcat下conf下的context.xml中为Context添加两个属性
<Context reloadable="true" privileged="true">
转载于:
更多推荐
InvokerServlet 激活器
发布评论