流程
一、依赖包
注意,如果使用阿里的fastjson要关注依赖包与spring的版本对应问题,否则报错。
这里用的是:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.8</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.8</version>
</dependency>
二、web.xml配置
<servlet>
<!-- 配置前端过滤器 -->
<servlet-name>springmvc</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<!-- 初始化时加载配置文件 -->
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:springmvc-config.xml</param-value>
</init-param>
<!-- 表示容器在启动时立即加载Servlet -->
<load-on-startup>1</load-on-startup>
</servlet>
<!--重点在这里!!!!!!!!-->
<servlet-mapping>
<servlet-name>springmvc</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
三、Spring MVC配置
<mvc:annotation-driven />
<mvc:resources location=".." mapping="/" /><!--分别代表位置和具体页面位置-->
<mvc:default-servlet-handler/>
四、前端
<script type="text/javascript" src="https://s3.pstatp.com/cdn/expire-1-M/jquery/3.1.1/jquery.min.js"></script>
<script type="text/javascript">
$(function(){
var classroom = {
"id":199,
"roomname":"测试教室1",
"roomnum":"10",
"roomtype":"测试类型",
"seatnum":100,
"remark":"测试测试测试测试"
};
$.ajax({
url:"/classroom/json",
data:JSON.stringify(classroom),
type:"POST",
contentType:"application/json;charset=UTF-8",
dataType:"JSON",
success:function(data){
alert(data.id+"---"+data.roomname);
}
});
});
</script>
五、后端
@RequestMapping("/json")
@ResponseBody
public Classroom json(@RequestBody Classroom classroom){
System.out.println(classroom);
classroom.setId(20);
classroom.setRoomname("测试");
return classroom;
}
注意!!!一定要加上@ResponseBody!!!!!