我需要为特定功能配置我的Tomcat WAR,并且不确定它是否可以通过web.xml完成,或者我是否需要实现1个自定义过滤器,或者使用其他类型的hackery.
我的应用程序打包为myapp.war.因此,当它从本地Tomcat实例提供时,我可以通过访问http:// localhost:8080 / myapp来访问它.
非常简单,如果Tomcat收到以下请求,我有一个欢迎文件(myapp.html),我想要服务:
> localhost:8080 / myapp
> localhost:8080 / myapp /
> localhost:8080 / myapp /#
> localhost:8080 / myapp /#< blah>
……其中< blah>是英镑符号(#)后的任何字符串/正则表达式.
因此,如果用户访问http:// localhost:8080 / myapp,则返回myapp.html.如果用户转到http:// localhost:8080 / myapp /#fjrifjri,那么猜猜是什么?发回myapp.html.
但是,如果用户转到http:// localhost:8080 / myapp / fizz,那么我想要正常的web.xml servlet-mapping逻辑启动,我希望Tomcat能够回送任何servlet映射到的/嘶嘶声等
目前我的web.xml看起来像:
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee">
myapp.html
我怎么能做到这一点?