epp*_*uig 35 tomcat web.xml servlets netbeans-7
我需要在两个不同的URL上映射相同的servlet.我使用netbeans 7.0.1来管理我的整个项目,所以我使用友好的界面来修改web.xml文件.netbeans创建的是:
<servlet-mapping>
<servlet-name>fred</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>/url</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
这是由tomcat 5.5读取而不会发出任何错误,但只有第二个模式有效,而第一个模式被忽略.
谷歌搜索我发现tomcat的正确方法是这样的:
<servlet-mapping>
<servlet-name>fred</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>fred</servlet-name>
<url-pattern>/url</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
所以,我的问题:这是tomcat中的一个错误吗?其他容器接受什么语法?
Ara*_*d A 44
我想它更多地与容器/ netbeans使用的servlet规范有关,而不是容器的问题.您的网络bean似乎使用规范2.5来构建servlet映射,因此您得到了
<servlet-mapping>
<servlet-name>fred</servlet-name>
<url-pattern>*.jsp</url-pattern>
<url-pattern>/url</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
在这里阅读更多相关信息.它说
以前版本的servlet架构只允许过滤器映射中的单个url模式.对于映射到多个URL的过滤器,这会导致不必要地重复整个映射子句.
| 归档时间: |
|
| 查看次数: |
49997 次 |
| 最近记录: |