gpt4 book ai didi

java - 使用 Nginx 和 Tomcat 支持 URL 中的动态路径

转载 作者:行者123 更新时间:2023-11-28 22:13:08 24 4
gpt4 key购买 nike

我正在尝试实现的用例。
根据 URL 路径中的 {{random_string}} 显示不同的内容。
用户将根据 URL 包含的 {{random_string}} 看到不同的内容。

例如:

www.example.com/{{random_string}}/index.jsp

URL 如下所示。 (它们在 JSP 之前包含随机字符)

www.example.com/xc/index.jsp
www.example.com/2b/index.jsp
www.example.com/43/index.jsp

我的问题

  1. 如何设置 nginx 和 tomcat 以支持 URL 中的 {{random_string}} 而不会抛出 404?

我当前的环境/设置(这很好用)

Nginx 和 Tomcat。到 nginx 的请求然后被重定向到 tomcat 以访问 ROOT.war例如,g - www.example.com/index.jsp

最佳答案

您不必更改 Nginx 或 Tomcat 配置中的任何内容。您可以做的是创建一个 servlet,它将拦截请求并在转发到 JSP 之前提取 {{random_string}}。以下是基本步骤:

1) 创建一个 URL 模式为 /* 的 servlet,以便所有请求都转到它。

2) 在 servlet 的 doGet() 方法中,使用 request.getPathInfo() 检索 URL 路径并解析它以提取 {{random_string}}。

3) 使用request.setAttribute() 为要在JSP 页面中显示的数据设置属性。

4) 使用 RequestDispatcher 将请求转发给 JSP,例如:

RequestDispatcher dispatcher = request.getRequestDispatcher("/index.jsp");  
dispatcher.forward(request, response);

5) 在 JSP 中,使用您在步骤 3 中设置的请求属性来显示内容。

关于java - 使用 Nginx 和 Tomcat 支持 URL 中的动态路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22304913/

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