SpringMVC--リクエストとレスポンスの処理(実戦3)
4118 ワード
この文章はJSONデータに対する処理を述べて、応答の処理について私の第2の文章のリンクアドレスを見ることができます:https://segmentfault.com/a/11...
前期準備
使用環境 JDK:1.8 Tomcat:9.0.3 Spring:5.2.8 Maven:3.6.3 コンパイラ:IntelliJ IDEA 2019 web.xml構成
ApplicationContext.xmlプロファイル(Springコアプロファイル)
JSONデータの処理
ブラウザにてajaxにてJSONデータを送信
buttonをクリックしてJSONデータを送信
サーバはJSONデータを受信する注意:jackson-core、jackson-databind、jackson-annotationsパッケージ を導入する必要があります.@RequestBody注記を使用して、受信したパラメータがJSON形式であることを示します.送信したJSONオブジェクトのkey名がエンティティオブジェクトの属性名である場合、私たちの方法パラメータがエンティティオブジェクトタイプと書かれている限り、mvcは私たちが要求するタイプ にパッケージされます.コードは次のとおりです:
サーバ応答JSONデータ注意:jackson-core、jackson-databind、jackson-annotationsパッケージ を導入する必要があります.応答エンティティオブジェクト:@ResponseBody注記を使用して、エンティティオブジェクトに直接戻ります(mvcはJSON形式のデータに変換します) コードは次のとおりです: 応答Map,list,Setの集合にかかわらず同じ使い方 Stringに戻り、@ResponseBodyを組み合わせると、転送/リダイレクト ではなくブラウザに直接対応します.
前期準備
使用環境
mvc
org.springframework.web.servlet.DispatcherServlet
contextConfigLocation
classpath:ApplicationContext.xml
mvc
*.do
ApplicationContext.xmlプロファイル(Springコアプロファイル)
JSONデータの処理
ブラウザにてajaxにてJSONデータを送信
buttonをクリックしてJSONデータを送信
cai jin hong
window.onload = function () {
document.getElementById("button").onclick = function () {
//1、 AJAX
var xhr = new XMLHttpRequest();
xhr.open("POST", "test.do", true);
//
xhr.setRequestHeader("Content-type", "application/json;charset=UTF-8");
//2、
xhr.onreadystatechange = function () {
if (xhr.readyState == 4 && xhr.status == 200){
alert(xhr.responseText);
}
}
//3、 JSON
xhr.send('{"account":"2020", "password": "123456", "balance":98}');
}
}
サーバはJSONデータを受信する
@Controller
public class UserController {
// : list
@RequestMapping("test.do")
public void testFive(@RequestBody User user){
System.out.println(user);
}
}
サーバ応答JSONデータ
@Controller
public class UserController {
// : list
@RequestMapping("test.do")
@ResponseBody
public User testFive(User user){
System.out.println(user);
return user;
}
}