> 文章列表 > Spring请求与响应——响应

Spring请求与响应——响应

Spring请求与响应——响应

我们上一篇文章说了请求,SpringMVC接收到请求和数据后,进行一些了的处理,当然这个处理可以是转发给Service,Service层再调用Dao层完成的,不管怎样,处理完以后,都需要将结果告知给用户也就是给用户响应回去。

对于响应,主要就包含两部分内容:

  • 响应页面
  • 响应数据(文本数据、 json数据

响应页面

SpringMVC响应页面很简单啊,以字符串格式(String)return“页面名称”。
Spring请求与响应——响应

响应数据

响应文本数据

@ResponseBody(不加的话会当作响应页面处理)

//响应文本数据//返回值为String类型,设置返回值为任意字符串信息,即可实现返回指定字符串信息,需要依赖@ResponseBody注解@RequestMapping("/toText")@ResponseBodypublic String toText(){System.out.println("返回纯文本数据");return "response text";}

Spring请求与响应——响应

响应json数据

 //响应POJO对象//返回值为实体类对象,设置返回值为实体类类型,即可实现返回对应对象的json数据,需要依赖@ResponseBody注解和@EnableWebMvc注解@RequestMapping("/toJsonPOJO")@ResponseBodypublic User toJsonPOJO(){System.out.println("返回json对象数据");User user = new User();user.setName("itcast");user.setAge(15);return user;}//响应POJO集合对象//返回值为集合对象,设置返回值为集合类型,即可实现返回对应集合的json数组数据,需要依赖@ResponseBody注解和@EnableWebMvc注解@RequestMapping("/toJsonList")@ResponseBodypublic 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;}

Spring请求与响应——响应

Spring请求与响应——响应

是不是发现和返回文本很像,确实,不过要分清哦,文本返回字符串josn返回类也就是pojo

名称 @ResponseBody
类型 方法\\类注解
位置 SpringMVC控制器方法定义上方和控制类上
作用 设置当前控制器返回值作为响应体,
写在类上,该类的所有方法都有该注解功能
相关属性 pattern:指定日期时间格式字符串

说明:

  • 该注解可以写在类上或者方法上
  • 写在类上就是该类下的所有方法都有@ReponseBody功能
  • 当方法上有@ReponseBody注解后
    • 方法的返回值为字符串,会将其作为文本内容直接响应给前端
    • 方法的返回值为对象,会将对象转换成JSON响应给前端
  • 对象转Json数据(POJO -> json)
  • 集合转Json数据(Collection -> json)

Converter这个接口专门来做数据类型转换的,很多都是通过它,没事可以看看