【问题标题】:HTTP request parameters are not available by request.getAttribute()request.getAttribute() 不提供 HTTP 请求参数
【发布时间】:2012-08-24 16:11:12
【问题描述】:

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

【问题讨论】:

    标签: servlets parameters attributes http-request-parameters


    【解决方案1】:

    这里,

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

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

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-26
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多