1.SpringMVC响应常用注解
注解名称 | 注解类型 | 位置 | 作用 |
---|---|---|---|
@RestController | 类注解 | SpringMVC控制器类上定义 | 设置当前类为SpringMVC控制器类,且设置当前控制器类中所有方法的返回值为响应内容(该注解包含@ResponseBody注解) |
@ResponseBody | 方法注解 | SpringMVC控制器方法上定义 | 设置当前控制器方法响应内容为当前返回值,无需解析 |
2.响应类型
(1)前端页面
java
package com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
@RequestMapping("/demos")
public class DemoController {
@RequestMapping("/page")
public String goPage() {
return "页面文件名" ;
}
}
(2)文本数据(String)
控制器中,方法的返回值如果是String类型,SpringMVC将解析字符串进行页面跳转。在方法上加
@ResponseBody注解表示返回值为响应内容,无需解析
java
ackage com.example.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/demos")
public class DemoController {
@RequestMapping("/str")
@ResponseBody
public String getString() {
return "响应文本数据" ;
}
}
(3)Json数据
java
package com.example.controller;
import com.example.domain.User;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/demos")
public class DemoController {
@RequestMapping("/json")
@ResponseBody
public User getJson() {
User user = new User();
return user ;
}
}