【问题标题】:Web Application directory mappingWeb 应用程序目录映射
【发布时间】:2014-01-09 08:15:38
【问题描述】:

我正在开发一个包含一些 JSP、Servlet 和静态 HTML 页面的小型 Web 应用程序。还有一些过滤器可以实现小型身份验证/授权机制。我的问题是:

  • 如何将整个 JSP 目录映射到另一个目录?这是一个示例:我想将所有 URL(如 localhost:8080/WebAppName/pages/*.jsp 映射到 localhost:8080/WebAppName/*.jsp )。如果不在 web.xml 中为目录“pages”中的每个 JSP 页面编写条目,我该如何做到这一点?

  • 将这些 URL 映射到新 URL 后,我必须在 web.xml 的标签中写什么?映射的 URL (WebAppName/*.jsp) 还是真实的 URL (WebAppName/pages/*.jsp)?

提前致谢。

【问题讨论】:

  • 你还需要吗?我只为 servlet 添加了映射,而不是为 JSP 添加了映射。只需将它们放在战争中正确的子目录中,JSP 就会自动可用。

标签: java jsp servlets filter mapping


【解决方案1】:

您可以创建一个 servlet - 或 JSP - 具有映射 *.xhtml(其他扩展名)。使用请求 URI,它可以动态包含来自 pages 的相应 JSP。

在 servlet 中:

String pagesPath = "pages/" + ...;
request.getServletContext(pagesPath).getRequestDispatcher().include(request,
                                                                    response);

我怀疑这是一个好主意,因为它没有添加任何东西:您甚至可能需要调整所有 JSP(其他扩展)。或者将 JSP 重命名为 .jspf

一般我使用WEB-INF/jsp下的JSP左右;所以它们不能公开访问。并使用类似的技术:在 servlet 中创建模型,然后将视图作为 JSP。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-17
    • 1970-01-01
    • 2013-06-18
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 2020-06-26
    • 2014-09-15
    相关资源
    最近更新 更多