gpt4 book ai didi

java - 在 servlet 中检索 jsonData

转载 作者:行者123 更新时间:2023-11-29 10:17:53 25 4
gpt4 key购买 nike

我在我的应用程序中使用 Extjs 4 和 Java Servlet。我想以 json 格式将一些数据发布到服务器。

JSON的格式应该是这样的:

{
"credentials":[
{
"username":"george",
"password":"xyz"
}
]
}

我在 extjs 代码中这样做了:

buttons: [{
text: 'Submit',
handler: function() {
Ext.Ajax.request({
url: '/Model/FormServlet',
method: 'POST',
jsonData : {
//Hardcoded values
username: "george",
password: "xyz"
},
callback: function (options, success, response) {
alert(response.responseText);
}
});
}
}]

1) 我相信我不会得到上面发布的 JSON 格式。请告诉我如何使用 jsonData 获取该格式。

2) 如何在 servlet doPost 方法中检索它?由于我没有使用 params 并将其替换为 jsonData 因此 request.getParameter 不会在 servlet doPost< 中工作 方法。

请告诉我如何进行这项工作。

问候,

最佳答案

1)你还好

2) 这是一个POST请求;数据不会出现在参数中(例如,不是 multipart/form-data),而是 HTTP 请求的内容。在 doPost 中,只需读取 request.getInputStream() 中的所有内容并使用适当的编码将其转换为 String 或直接调用 request.getContent()如果您注册了合适的 ContentHandler

类似的东西

byte[] ba = IOUtils.toByteArray( req.getInputStream(  ) );
String charset = TypedContentUtils.extractCharset( req.getContentType( ) );
String json = new String( ba, charset );

IOUtils 是 Apache Commons IO(自己编写 10 行,并进行适当的异常处理); TypedContentUtils.extractCharset 是一种简单的本土方法,可从 Content-Type 或默认为 utf-8 中提取字符集。

关于java - 在 servlet 中检索 jsonData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13048113/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com