您现在的位置是:首页 >技术交流 >Spring请求与响应——响应网站首页技术交流
Spring请求与响应——响应
简介Spring请求与响应——响应
我们上一篇文章说了请求,SpringMVC接收到请求和数据后,进行一些了的处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户也就是给用户响应回去。
对于响应,主要就包含两部分内容:
- 响应页面
- 响应数据(文本数据、 json数据 )
响应页面
SpringMVC响应页面很简单啊,以字符串格式(String)return“页面名称”。
响应数据
响应文本数据
@ResponseBody(不加的话会当作响应页面处理)
//响应文本数据
//返回值为String类型,设置返回值为任意字符串信息,即可实现返回指定字符串信息,需要依赖@ResponseBody注解
@RequestMapping("/toText")
@ResponseBody
public String toText(){
System.out.println("返回纯文本数据");
return "response text";
}
响应json数据
//响应POJO对象
//返回值为实体类对象,设置返回值为实体类类型,即可实现返回对应对象的json数据,需要依赖@ResponseBody注解和@EnableWebMvc注解
@RequestMapping("/toJsonPOJO")
@ResponseBody
public User toJsonPOJO(){
System.out.println("返回json对象数据");
User user = new User();
user.setName("itcast");
user.setAge(15);
return user;
}
//响应POJO集合对象
//返回值为集合对象,设置返回值为集合类型,即可实现返回对应集合的json数组数据,需要依赖@ResponseBody注解和@EnableWebMvc注解
@RequestMapping("/toJsonList")
@ResponseBody
public List<User> toJsonList(){
System.out.println("返回json集合数据");
User user1 = new User();
user1.setName("黑予督");
user1.setAge(15);
User user2 = new User();
user2.setName("张鑫乐");
user2.setAge(12);
List<User> userList = new ArrayList<User>();
userList.add(user1);
userList.add(user2);
return userList;
}
是不是发现和返回文本很像,确实,不过要分清哦,文本返回字符串josn返回类也就是pojo
名称 | @ResponseBody |
---|---|
类型 | 方法类注解 |
位置 | SpringMVC控制器方法定义上方和控制类上 |
作用 | 设置当前控制器返回值作为响应体, 写在类上,该类的所有方法都有该注解功能 |
相关属性 | pattern:指定日期时间格式字符串 |
说明:
- 该注解可以写在类上或者方法上
- 写在类上就是该类下的所有方法都有@ReponseBody功能
- 当方法上有@ReponseBody注解后
- 方法的返回值为字符串,会将其作为文本内容直接响应给前端
- 方法的返回值为对象,会将对象转换成JSON响应给前端
- 对象转Json数据(POJO -> json)
- 集合转Json数据(Collection -> json)
Converter这个接口专门来做数据类型转换的,很多都是通过它,没事可以看看
风语者!平时喜欢研究各种技术,目前在从事后端开发工作,热爱生活、热爱工作。