request.getAttribute()无法使用HTTP请求参数

时间:2012-08-24 16:11:13

标签: servlets parameters attributes http-request-parameters

我使用以下jQuery片段向servlet发送url参数:

$.getJSON("http://localhost:8080/JsoupPrj/JasonGen?url=" + url, function(data) {
    $("#content").html(data);
});

在服务器端,servlet获取参数,我编码如下:

String url = (String) request.getAttribute("url");

但它不起作用,你能告诉我我做错了吗?我相信我没有正确地将参数传递给servlet。 servlet每次都通过JavaScript触发,但是没有看到从浏览器传递的参数。

1 个答案:

答案 0 :(得分:2)

下面,

String url = (String) request.getAttribute("url");

您尝试将请求参数作为请求属性而不是请求参数。这显然不会做你想要的。

您需要获取请求参数作为请求参数,而不是请求属性。

String url = request.getParameter("url");

对具体问题

无关:在发送之前,您似乎根本不对该参数进行URL编码。当url包含特殊字符时,这可能会导致与此无关的其他问题。查看JS encodeURIComponent()函数或data函数的$.getJSON()参数。有关更多提示,请参阅How to use Servlets and Ajax?