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

我使用以下jQuery件发送一个url参数给servlet:

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

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

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

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

这里,

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

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

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

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

具体问题无关 :在发送之前,您似乎没有对URL进行参数编码。 这可能会导致其他问题,与这个无关,当url包含特殊字符。 查看JS encodeURIComponent()函数或$.getJSON()函数的data参数。 另请参阅更多提示如何使用Servlet和Ajax?