【问题标题】:How to add an extra URL mapping for an servlet that already mapped in Eclipse IDE 4.2?如何为已在 Eclipse IDE 4.2 中映射的 servlet 添加额外的 URL 映射?
【发布时间】:2023-03-25 14:05:02
【问题描述】:

我想在 Eclipse 中为我的应用程序添加一个额外的 URL 映射。由于 Eclipse IDE 没有使用 web.xml 作为部署描述符,我不知道该怎么做。

也就是说,servlet LogServlet 已经映射为 /LogServlet ,但我需要添加一个额外的映射为 /tamil/LogServlet 。

由于 web.xml 在 Eclipse 中没有用作部署描述符,我不知道该怎么做。

请帮助我解决这个问题。

(在 Java EE 6[jdk 7] 的 Dynamic Web Module 3.0 中创建的项目)

2) 请指导我如何创建包含所有部署信息的 web.xml 文件。(“生成部署描述符存根”不生成 servlet 映射,仅欢迎页面标签)

【问题讨论】:

    标签: eclipse jsp jakarta-ee web-applications deployment


    【解决方案1】:

    阅读the javadoc

    java.lang.String[] urlPatterns servlet 的 URL 模式

    所以你只需要

    @WebServlet(urlPatterns = {"/LogServlet", "/tamil/LogServlet"}) 
    

    也就是说,鉴于您想要的模式,您似乎只是在相对路径和绝对路径之间感到困惑,并且单个模式应该就足够了。如果您需要更多帮助,请向我们解释您为什么需要这两种模式。

    【讨论】:

    • 我需要一个额外的映射,因为根文件夹中的 jsp 文件 login.jsp 只是将请求发布到 /LogServlet,但泰米尔文件夹中的相同 jsp 文件发布到 /tamil/LogServlet 而不是 /LogServlet。这就是为什么我需要这个............
    • 这就是我的怀疑。你不需要第二个映射。您只需要将 JSP 发布到正确的 URL:../LogServlet,或者,使用绝对路径和 JSTL,<c:url value="/LogServlet"/>,甚至只是简单的 ${pageContext.request.contextPath}/LogServlet。使用绝对路径:无论当前 URL 是什么,它们都可以工作。
    猜你喜欢
    • 1970-01-01
    • 2012-01-20
    • 2017-09-21
    • 1970-01-01
    • 2011-09-21
    • 2011-12-10
    • 2018-11-24
    • 2011-07-09
    • 2016-01-02
    相关资源
    最近更新 更多