【问题标题】:Tomcat Servlet GET not receiving parameters from Web clientTomcat Servlet GET 未从 Web 客户端接收参数
【发布时间】:2017-08-07 08:00:13
【问题描述】:

我有一个 Web 客户端 (JavaScript) 向运行在 TOMCAT 8.5 上的 Servlet 发送请求。

请求是使用$HTTP(req) 发送的,并且在检查req 的内容时(即在Chrome 中只需将光标移动到它上面)它会显示:

data:"request=%7B%....." 
headers: Object
  Content-Type: "application/text ; charset=UTF8"
method: "GET"
timeout: 10000
url: "http://localhost:8080/MyServlet/Dispatcher"

注意事项:

  1. 编码字符串的长度约为 200 个字符,尽管我也尝试过使用较短的字符串,

  2. 我也试过JSON而不是text,但同样的问题仍然存在。

servlet(用于调试目的)检查它是否接收到任何参数,如果没有找到参数,它会返回一个默认响应。

我还在 serlet 中的 doGET 方法中添加了以下代码:

    System.out.println("[DBG] - Printing all received parameters..."); 
    Enumeration<String> parameterNames = request.getParameterNames(); 
    while (parameterNames.hasMoreElements()) { 
        String paramName = parameterNames.nextElement(); 
        System.out.println("[DBG] -       Received parameter name is: " + paramName); 
        String[] paramValues = request.getParameterValues(paramName); 
        for (int i = 0; i < paramValues.length; i++) { 
            String paramValue = paramValues[i]; 
            System.out.println("[DBG] -       Received parameter value is: " + paramValue); 
        }
    } 
    System.out.println("[DBG] - End Printing all received parameters."); 

无论名称如何,它都会打印它收到的任何参数。

到目前为止,我总是返回默认响应(意思是,没有收到任何参数)并且打印到控制台显示:

[DBG] - Printing all received parameters...
[DBG] - End Printing all received parameters.

再次,表示没有收到任何参数。

我在这里做错了什么?

谢谢。

编辑: [根据收到的答案]

在 servlet 中,我尝试使用以下声明获取参数的值:

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

【问题讨论】:

    标签: javascript java tomcat servlets


    【解决方案1】:

    我找到了解决方案。我没有将参数作为附加到标头的data: 字段的字符串传递,而是设置:

    params:{request:'{<stringifyed JSON>}'}
    

    现在,参数正在到达 SERVLET。

    【讨论】:

      【解决方案2】:

      如果这是一个 GET 请求,则忽略正文(上下文中的数据)。如果您想作为请求参数发送,您必须将其附加到 url 并尝试获取 request.getParameter("request") 的值,这应该返回您正在添加的字符串。

      【讨论】:

      • 感谢您的建议。请参阅我对原始问题的补充。
      猜你喜欢
      • 2011-11-18
      • 2015-06-16
      • 1970-01-01
      • 2020-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-27
      相关资源
      最近更新 更多