-->

HTTP请求参数不可通过request.getAttribute()(HTTP request pa

2019-06-17 21:10发布

我送一个url参数,使用下面的jQuery的一块servlet中:

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

在服务器端,此servlet得到的参数,对于我的编码如下:

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

但它不工作,你能告诉我哪里做错了吗? 我相信我没有正确传递参数给servlet。 该servlet通过JavaScript的每一次触发,但没有看到从浏览器传递的参数。

Answer 1:

这里,

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

你想获得一个请求参数作为一个请求属性 ,而不是作为一个请求参数 。 这显然不会做你想做的。

你需要得到一个请求参数作为请求参数,而不是作为一个请求属性。

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

无关的具体问题:你似乎并不被URL编码发送之前的所有参数。 这将可能导致其他的问题,无关的这一个,当url包含特殊字符。 看看JS encodeURIComponent()函数或data的参数的$.getJSON()函数。 有关详情,请提示还如何使用servlet和Ajax?



文章来源: HTTP request parameters are not available by request.getAttribute()