从URL中检索请求参数,不带参数名称

时间:2012-06-29 01:54:54

标签: spring jsp servlets url-rewriting request

我的网址如下:     [HTTP://本地主机:8080 /资源/ headline3-7]

在此网址

资源 - Servlet

headline3-7 - 请求参数

在Servlet中我使用以下代码:

@WebServlet(name = "ArticleServlet", value = "/resource/*")
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws     ServletException, IOException {
     System.out.println("hiii"+ request.getQueryString());
}  

我想弄清楚如何在这个例子中获取请求参数?

我可以看到控件正被转移到Servlet

弹出的另一件事是我正在为应用程序使用Spring框架工作,并且我有一个URLrewrite.xml,在那里我试图添加以下规则,这将有助于获取ID但似乎不是工作:

 <rule>
    <from>^/resource/([A-Z]+)$</from>
    <to>/resource/id=$1</to>

</rule>

答案: 实际上我使用了URL模式和使用的正则表达式如下:

 <rule>
    <from>^/resource-center/([a-z A-Z-0-9'-_]+)$</from>
    <to>/resource?id=$1</to>
 </rule>

这个表达式对我有用,我使用的servlet使用req.getparmeter function()

1 个答案:

答案 0 :(得分:0)

request.getQueryString()不适合你,因为严格来说你没有任何查询字符串 - 你将不得不做一些你自己的解析,如:

String param = null;
String[] paths = request.getPathInfo().split("/");
if (paths.length > 0) {
    param = paths[paths.length-1];
}
System.out.println(param);