Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/363.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Nginx和Tomcat支持URL中的动态路径_Java_Jsp_Tomcat_Nginx_Url Routing - Fatal编程技术网

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

Java 使用Nginx和Tomcat支持URL中的动态路径,java,jsp,tomcat,nginx,url-routing,Java,Jsp,Tomcat,Nginx,Url Routing,我试图实现的用例。 根据URL路径中的{random_string}}显示不同的内容。 用户将根据URL包含的{random_string}}看到不同的内容 例如: www.example.com/{{random_string}}/index.jsp URL如下所示。( 它们包括JSP前面的随机字符) www.example.com/xc/index.jspwww.example.com/2b/index.jsp www.example.com/43/index.jsp 我的问题 如何设置n

我试图实现的用例。
根据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

我的问题

  • 如何设置nginx和tomcat以支持URL中的{{random_string}}而不抛出404
  • 我当前的环境/设置(这很好)

    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中设置的请求属性来显示内容