使用Nginx和Tomcat支持URL中的动态路径
我正在尝试实现的用例。
根据URL路径中的{{random_string}}显示不同的内容。
用户将根据该URL包含的{{random_string}}来查看不同的内容。
例如:
www.example.com/{{random_string}}/index.jsp
网址如下所示。 (它们包含JSP之前的随机字符)
www.example.com/xc/index.jsp
www.example.com/2b/index.jsp
www.example.com/43/index.jsp
我的问题
我当前的环境/设置(这工作正常)
Nginx以及Tomcat。 然后将访问nginx的请求重定向到tomcat以访问ROOT.war e,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中设置的请求属性来显示内容。
链接地址: http://www.djcxy.com/p/89065.html