微服务 教程
1085个小节阅读:195.9k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
作用:方法返回的对象转换为JSON格式,并将JSON数据直接写入到输出流中,使用此注解后不会再经过视图解析器。使用该注解可以处理Ajax请求。
位置:方法上方或方法返回值前
编写jsp页面,发送ajax请求
xxxxxxxxxx
<%page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>ajax请求</title>
<script src="/js/jquery-2.1.1.min.js"></script>
<script>
$(function () {
$("#btn").click(function () {
var name = $("#name").val();
var sex = $("#sex").val();
$.get("/c8/addStudent",{"name":name,"sex":sex},function (data){
console.log(data);
});
});
});
</script>
</head>
<body>
姓名:<input id="name"/><br/>
性别:<input id="sex"/><br/>
<input type="button" value="提交" id="btn"/>
</body>
</html>
由于jsp页面中引入jQuery的js文件,而SpringMVC会拦截所有资源,造成jquery.js失效,需要在SpringMVC核心配置文件中放行静态资源。
xxxxxxxxxx
<!-- 放行静态资源 -->
<mvc:default-servlet-handler />
编写结果实体类,该实体类会封装一个请求的结果
xxxxxxxxxx
// 请求的结果对象
public class Result {
private boolean flag; // 请求是否成功
private String message; // 请求提示信息
// 省略getter/setter/构造方法
}
编写控制器
xxxxxxxxxx
"/addStudent") (
public Result addStudent(String name, String sex) {
// 输出接受到的参数,模拟添加学生
System.out.println(name+":"+sex);
// 返回添加结果
Result result = new Result(true, "添加学生成功!");
return result;
}
SpringMVC会将Result对象转为JSON格式写入输出流,而SpringMVC默认使用的JSON转换器是jackson,需要在pom中添加jackson依赖。
xxxxxxxxxx
<!-- jackson -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
1. 在SpringMVC中,可以将方法返回的对象转换为JSON格式
A @ResponseBody
B @Request
C @RequestBody
D @Response
1=>A