基本上我想要一个servlet来处理所有传入的请求,而不管路径如何.我在共享托管环境中可以访问配置我自己的web.xml文件.
我在web.xml中配置了以下内容,但它不适用于Tomcat 5:
301
以上工作适用于以路径中的目录开头的任何内容,例如:
www.mydomain.com/anypath1/anypath2...
www.mydomain.com/anypath1
但是,不起作用:
www.mydomain.com/ or
www.mydomain.com
我还尝试了以下servlet映射:
结果相同.既没有工作……任何人都有任何建议吗?
最佳答案
Tomcat 5实现了Servlet 2.4规范.它可以在这里下载:
JCP Servlet 2.4 Spec
原文链接:https://www.f2er.com/java/437567.htmlJCP Servlet 2.4 Spec
在pg. 86 – SRV.11.2它描述了如何指定Servlet映射.如果我理解您正在尝试正确执行的操作,那么您将尝试使用单个Servlet拦截到服务器的每个请求(无论路径是什么).为了实现这一点,在Tomcat的情况下,您的webapp需要挂载在默认上下文(“ROOT”)中,并且您的Servlet需要映射到web.xml中的默认servlet.您在web.xml中的映射是正确的.
我认为你遇到的问题是ROOT环境.访问www.mydomain.com/和www.mydomain.com会显示什么?您不要提及您的共享托管环境是否允许您完全访问自己的Tomcat配置,但如果您可以访问和修改$TOMCAT5_HOME / conf目录,则有几种方法可以帮助您完成此任务.
< Context path="" debug="0" docBase="your-app">
到$TOMCAT5_HOME / conf / server.xml.假设您的应用程序名为“your-app.war”.
希望这可以帮助.