gpt4 book ai didi

java - Servlet URL 和物理目录

转载 作者:行者123 更新时间:2023-11-29 03:52:29 25 4
gpt4 key购买 nike

所以,既然我已经将我的 JSP 文件从/content 移动到/WEB-INF/content,然后再对我的 ProcessServlet 进行编码以使用 forward() 访问它们,我应该如何设置我的 web.xml URL 模式以获取到 Servlet?

注意:我的 JSP 与 CSS、图像和 JS 文件位于/content 下。所以/content/css,/content/image,/content/js 都还在。

我发现如果我在我的 Servlet 的 web.xml 中使用模式“/content/*”,那么对 css、图像和 js 的请求也会全部通过 Servlet。我应该如何避免这种情况?

有人可以建议一种更好的方法来设置我的 URL 和目录吗?

最佳答案

2个选项:

  1. 移动/content/css , /content/image , /content/js/resources/css等。要修复现有 JSP 中的 URL,只需使用查找和替换的智能方式。应该是一分钟的工作。

  2. 更改 servlet 的 URL 模式 /content/*到别的东西,例如/pages/* .

    • 如果您想保留现有的 URL,请在 /content/* 上添加过滤器它基本上执行以下操作:

      String uri = ((HttpServletRequest) request).getRequestURI();
      if (uri.startsWith("/content/css/") || uri.startsWith("/content/image/") || uri.startsWith("/content/js/")) {
      chain.doFilter(request, response); // Goes to default servlet.
      } else {
      request.getRequestDispatcher("/pages" + uri).forward(request, response);
      }

    这只是一个巨大的变化。您可能需要修复 JSP 中的所有链接,以确保它们的设计方式与您在其中指定了 <base> 的主模板相同。在一个位置。此外,您可能希望为旧书签和搜索索引添加 301 重定向。

关于java - Servlet URL 和物理目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8099125/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com