我的servlet与<url-pattern> /controller/*/* </url-pattern>
映射我的网址就像这样controller/12341/ABC123
总是这样,但值可以更改。
我正在努力获得第一个*
和第二个*
的价值serial & mac
我写下面的代码,但它只返回最后一部分ACB123
String mac= request.getPathInfo().replace("/", "");
我怎样才能同时获得两个vaules?
答案 0 :(得分:0)
如果我正确读取了servlet规范,则不能有多个通配符。试试
<url-pattern>/controller/*</url-pattern>
然后:
String[] parts = request.getPathInfo().split("/");
String serial = parts[1]; // before last index
String mac = parts[2]; // last index
当然,您需要对此进行一些错误处理。
相关说明:纯servlet API很难处理。如果您只有这个servlet或以某种方式受到约束,这可能没问题。但是,如果你有更多的servlet,甚至需要HTTP请求参数处理,解析等,使用像Spring WebMVC这样的框架可能更合适。