Java 码头';{servlet}/{parameter}';url路由
我使用的是jetty 9.0.3 如何将URL(如www.myweb.com/{servlet}/{parameter})映射到给定的servlet和参数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
例如,URL“/client/12312”将路由到clientServlet,其
doGet
方法将接收12312作为参数。您将需要担心两个部分
WEB-INF/WEB.xml中的路径规范
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
上设置实现为classcom.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()”,它更干净。