Servlets HTTP请求参数不可用于请求。getAttribute()

Servlets HTTP请求参数不可用于请求。getAttribute(),servlets,parameters,attributes,http-request-parameters,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"); 但它不起作用,你能告诉我哪里做错了吗?我认

我正在使用以下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触发,但它看不到从浏览器传递的参数

String url = (String) request.getAttribute("url");
您试图将请求参数作为请求属性而不是请求参数来获取。这显然不是你想要的

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

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

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