java - 将两个不同的 servlet 映射到相同的 URL 模式

标签 java servlets web.xml

遇到一个别人写的J2EE项目。当我来到 web.xml 时,有两个不同的 servlet 映射到相同的 URL 模式。我想知道这种方法的目的。它究竟是如何工作的,目的是什么?

这是 web.xml 的相关部分:

<servlet>
    <servlet-name>fileDownload</servlet-name>
    <servlet-class>com.htsoft.core.web.servlet.FileDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>fileDownload</servlet-name>
    <url-pattern>/file-download</url-pattern>
</servlet-mapping>

<servlet>
    <servlet-name>fileDownLoad</servlet-name>
    <servlet-class>com.kaiwii.oa.action.system.FileDownloadServlet</servlet-class>
</servlet>
<servlet-mapping>
    <servlet-name>fileDownLoad</servlet-name>
    <url-pattern>/file-downLoad</url-pattern>
</servlet-mapping>  

最佳答案

只会调用一个 servlet;我不知道用两个 servlet 处理单个请求的机制(我也不确定那意味着什么)。

Servlet URL 模式可能会重叠,但是让两个具有完全相同的 URL 是没有意义的。我不记得 servlet 规范是否明确不允许它,但是匹配在第一次匹配时停止。匹配方法在规范中定义。

Servlet 2.4 spec PDF见第85+

关于java - 将两个不同的 servlet 映射到相同的 URL 模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7885666/

相关文章:

java - 在 OpenHTF ChronicleMap 上设置最大条目数

testing - 如何 Junit 测试具有特定响应的 servlet 过滤器

java - Google App Engine (Java) - 从 web.xml 重定向到 jsp

java - 整数除法 : Why is the result of 1/3 == 0?

java - 使用 BaseAdapter 自定义 ListView

java - 基本 request.getParameter 不起作用

java - tomcat 和 netbeans 部署错误

java - 无法使用 Intellij Idea 执行 Xpath

java - Tomcat 别名 - 找不到 WEB-INF/web.xml

java - Maven 项目可以从 Maven 命令行构建,但不能使用 IntelliJ IDEA 11.1.1