目录
@ResponseBody、@RestController将方法返回的对象转为JSON格式。
- <%@ 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>
- <br>
- 姓名:<input id="name"><br />
- 性别:<input id="sex"><br />
- <input type="button" value="提交" id="btn">
- </body>
- </html>
- <!-- 放行静态资源 -->
- <mvc:default-servlet-handler />
- // 请求的结果对象
- public class Result {
- private boolean flag; // 请求是否成功
- private String message; // 请求提示信息
- // 省略getter/setter/构造方法
- }
- package com.first.controller;
-
- import com.first.domain.Result;
- import com.first.domain.Student;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
-
- @Controller
- @RequestMapping("/c8")
- public class MyController8 {
- @GetMapping("/addStudent")
- @ResponseBody
- public Result addStudent(String name, String sex){
- // 输出接受的参数,模拟添加学生
- System.out.println(name+":"+sex);
- // 返回结果对象
- Result result = new Result(true, "添加学生成功!");
- return result;
- }
-
- }
- <!-- 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>
访问http://localhost:8080/first3.jsp
输入姓名和性别并提交,数据会提交给相应的控制层。
控制台会输出前端输入的姓名和性别。
- package com.first.controller;
-
- import com.first.domain.Result;
- import com.first.domain.Student;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
-
- //@Controller
- @RestController
- @RequestMapping("/c8")
- public class MyController8 {
- @GetMapping("/addStudent")
- //@ResponseBody
- public Result addStudent(String name, String sex){
- // 输出接受的参数,模拟添加学生
- System.out.println(name+":"+sex);
- // 返回结果对象
- Result result = new Result(true, "添加学生成功!");
- return result;
- }
-
- }
<mvc:default-servlet-handler/>
- <!--配置静态资源映射器-->
- <!-- mapping:配置请求的URL location:资源路径-->
- <mvc:resources mapping="/img/" location="/img/"/>
- <mvc:resources mapping="/js/" location="/js/"/>
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.jpg</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.css</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.js</url-pattern>
- </servlet-mapping>
- <servlet-mapping>
- <servlet-name>default</servlet-name>
- <url-pattern>*.png</url-pattern>
- </servlet-mapping>
- <%@ 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();
- var param = JSON.stringify({"name":name,"sex":sex});
- $.ajax({
- url:"/c8/addStudent2",
- contentType:"application/json",
- type:"post",
- data:param,
- success:function (data){
- console.log(data);
- }
- })
- })
- })
- </script>
- </head>
- <br>
- 姓名:<input id="name"><br />
- 性别:<input id="sex"><br />
- <input type="button" value="提交" id="btn">
- </body>
- </html>
- package com.first.controller;
-
- import com.first.domain.Result;
- import com.first.domain.Student;
- import org.springframework.stereotype.Controller;
- import org.springframework.web.bind.annotation.*;
-
- //@Controller
- @RestController
- @RequestMapping("/c8")
- public class MyController8 {
- @GetMapping("/addStudent")
- //@ResponseBody
- public Result addStudent(String name, String sex){
- // 输出接受的参数,模拟添加学生
- System.out.println(name+":"+sex);
- // 返回结果对象
- Result result = new Result(true, "添加学生成功!");
- return result;
- }
-
- @PostMapping("/addStudent2")
- //@RequestBody把传过来的json数据封装到到Student对象中
- public Result addStudent2(@RequestBody Student student){
- // 输出接受的参数,模拟添加学生
- System.out.println(student);
- // 返回结果对象
- Result result = new Result(true, "添加学生成功!");
- return result;
- }
-
- }
访问http://localhost:8080/first4.jsp

控制台输出:
Student{id=0, name='不一样', sex='女', address=null}