如何在tomcat上拥有相同servlet的多个实例

时间:2010-11-07 17:16:19

标签: tomcat servlets

我编写了一个servlet,这个servlet必须在同一个服务器上多次实例化。 怎么做 ? 是一些别名或参数来定义来自同一个servlet(具有不同参数)的许多“Web服务器”

感谢您的帮助

Thierry Vorms

3 个答案:

答案 0 :(得分:3)

你做不到。 servlet规范规定只应存在一个servlet类的实例。

但这样做是不对的。不要在servlet中使用实例变量。如果您需要类似的东西 - 使用会话或请求属性

答案 1 :(得分:1)

你的问题措辞不是很好,但会尝试内插,看看我能弄明白你的意思。

  1. 如果你的意思是使用与许多servlet相同的类 - 你可以这样做。例如,你可以有一个名为ColorServlet的servlet类,以及一个init param,它告诉它要提供什么颜色。然后,您可以在同一个web.xml文件中将此引用两次,其中两个不同的servlet映射条目为两个url模式,例如/ myapp / color / blue和/ myapp / color / red。您在XML中使用init-param部分来设置servlet的启动参数看看Here

  2. 如果你的意思是在不同的端口上公开其他HTTP侦听器 - 是的 - 这也是可行的,只需要在server.xml中有更多'连接器'元素 - 它们都将共享你的代码,这样你就可以服务来自多个“服务器”的相同servlet

答案 2 :(得分:0)

Web应用程序可以使用不同名称的servlet并指向同一个类。我想这就是你要问的。