【问题标题】:servlet extending another servletservlet 扩展另一个 servlet
【发布时间】:2014-07-19 03:38:52
【问题描述】:

我正在阅读最近用 servlet 编写的代码。 servlet 层次结构是这样的,有一个 servlet A 由 servlet B 扩展,由 servlet C,D,E,F 扩展。

现在在我的 web.xml 中,我为这些 servlet 配置了 5 个 url,所有这些 url 都映射到 servlet A。所以我的映射看起来像

URL- /downloadservlet - 类 - Servlet A URL- /readcontent - 类 servlet A URL- /getdetails - 类 servlet A .. 等等

现在,当我想在 servlet D 中执行 doPost 方法时,我该如何实现呢?因为这个请求也可以由 C 或 E 或 F 服务。

应用程序正常工作,但我无法理解请求如何路由到正确的 servlet。非常感谢对此的任何解释。

【问题讨论】:

  • 通过 URL 映射,与其他所有 Servlet 相同。在您的示例中,未使用 B、C、D、E 和 F。一切都映射到 A。

标签: java servlets


【解决方案1】:

Servlet 本身与继承无关。它将调用与 web.xml 文件的 servlet 标记中提供的完全相同的类,例如如果要将类 org.company.D 映射到 servlet,则需要编写如下内容:

<servlet>
    <servlet-name>servletd</servlet-name>
    <servlet-class>org.company.D</servlet-class>
</servlet>

然后将“servletd”映射到它应该监听的 URL:

<servlet-mapping>
    <servlet-name>servletd</servlet-name>
    <url-pattern>/some-path</url-pattern>
</servlet-mapping>

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 2015-08-13
    • 1970-01-01
    • 2011-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-19
    • 2013-05-16
    相关资源
    最近更新 更多