Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/389.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 码头';{servlet}/{parameter}';url路由_Java_Url_Dictionary_Routing_Jetty - Fatal编程技术网

Java 码头';{servlet}/{parameter}';url路由

Java 码头';{servlet}/{parameter}';url路由,java,url,dictionary,routing,jetty,Java,Url,Dictionary,Routing,Jetty,我使用的是jetty 9.0.3 如何将URL(如www.myweb.com/{servlet}/{parameter})映射到给定的servlet和参数 例如,URL“/client/12312”将路由到clientServlet,其doGet方法将接收12312作为参数。您将需要担心两个部分 WEB-INF/WEB.xml中的路径规范 在您的servlet中 路径规范 在WEB-INF/WEB.xml中,必须声明Servlet和url模式(也称为pathSpec) 例如: Request U

我使用的是jetty 9.0.3

如何将URL(如www.myweb.com/{servlet}/{parameter})映射到给定的servlet和参数


例如,URL“/client/12312”将路由到clientServlet,其
doGet
方法将接收12312作为参数。

您将需要担心两个部分

  • WEB-INF/WEB.xml中的路径规范
  • 在您的servlet中
  • 路径规范 在
    WEB-INF/WEB.xml
    中,必须声明Servlet和url模式(也称为pathSpec)

    例如:

    Request URL        Path Info
    ----------------   ------------
    /client/           /
    /client/hi         /hi
    /client/world/     /world/
    /client/a/b/c      /a/b/c
    
    
    示例WebApp
    客户端servlet
    com.mycompany.ClientServlet
    客户端servlet
    /客户/*
    
    这将在名称
    ClientServlet
    上设置实现为class
    com.mycompany.ClientServlet
    的servlet,然后为传入请求url指定
    /client/*
    的url模式

    url模式末尾的额外
    /*
    允许接受以
    /client/
    开头的任何传入模式,这对于pathInfo部分很重要

    路径信息 接下来我们进入Servlet实现

    在ClientServlet上的实现中,您应该访问该值,该值将接收URL模式上
    /client
    之后的请求URL部分

    例如:

    Request URL        Path Info
    ----------------   ------------
    /client/           /
    /client/hi         /hi
    /client/world/     /world/
    /client/a/b/c      /a/b/c
    

    此时,您可以使用
    Jersey
    并在
    ResourceConfig
    包中注册以下类,该类正在处理
    。/worker/1234
    url模式

    阅读更多:


    您需要使用一个过滤器来提取url的一部分?有例子吗?我没有例子。在web.xml中,您可以映射
    /client/*
    。对于
    12312
    ,您需要从路径中提取它。谢谢!我做了类似的事情,但在servlet中我使用了'req.getRequestURI().split(“/(.*)”)[2];'而是过滤uri字符串。我将实现“getPathInfo()”,它更干净。