Tomcat的invoker使用总结

invoker为方便servlet的开发与调试开启了一道大门,免去了开发一个servlet就要在web.xml文件中添加相应配置信息的麻烦。以下是位于$TOMCAT_HOME/conf/web.xml文件中对于invoker的说明:













简单翻译如下:invoker可以运行没有在web.xml文件中配置的servlet。默认情况下,通过在URL中添加“/servlet/*”来进行映射,当然也可以通过其他URL模式进行映射。被访问的Java类必须使用完全限定名,同时还需要实现Servlet(或者HttpServlet)接口,或则是实现继承自Servlet接口的其他子接口。

将Tomcat安装目录下conf目录中的web.xml文件打开,找到如下两端代码,去掉其注释即可打开invoker功能:
(1)


invoker

org.apache.catalina.servlets.InvokerServlet

debug 0
2

(2)


invoker
/servlet/*

来个例子:
web应用myapp的目录结构如下:

myapp
|——otherfiles
|——WEB-INF
|——classes
|——mypack
|——HelloWorld.class

打开invoker功能之后,访问HelloWorld.class的URL为:http://localhost:8080/myapp/servlet/mypack.HelloWorld

如果没有打开invoker功能,那么还需要在myapp应用的web.xml文件中添加如下配置信息:


just for test
test servlet
HelloWorld
mypack.HelloWorld


HelloWorld
/servlet/HelloWorld

然后通过如下URL访问HelloWorld:http://localhost:8080/myapp/servlet/HelloWorld

缺点:会暴露一些开发信息比如类的完全限定名,而且如果完全限定名很长的话,URL也不如在web.xml进行配置的美观简练,所以仅限开发调试时用。

此条目发表在sitebuild分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据