数据响应的方式

 

一、页面跳转

  1. 直接返回字符串
  2. 通过ModelAndView对象返回

 

二、回写数据

  1. 直接返回字符串
  2. 返回对象或集合

 

下面会详细学习这数据响应的两种方式

返回字符串可以直接返回 返回对象(下面会讲)或集合(不作演示)需要先转为json格式才能返回,也就是我们返回的其实就是json数据

 

页面跳转 -- 返回字符串形式

 

直接返回字符串: 此种方式会将返回的字符串与视图解析器的前后缀拼接后跳转

在UserController类中写入如下:

 

在spring-mvc.xml写入如下:

 

上面拼接之后,转发资源地址就是为: /jsp/success.jsp

返回带有前缀的字符串: 转发: forward:/jsp/success.jsp 重定向: redirect:/success.jsp

就是我们上节课结尾学的组件配置的资源解析器,就实现了这节课的'返回字符串形式'的页面跳转

 

页面跳转 -- 返回ModelAndView对象

 

 

 

回写数据 -- 直接返回字符串

 

在Web基础阶段,客户端访问服务器端,如果想直接返回字符串作为响应体返回的话,只需要使用response.getWriter().print("hello world")即可, 那么在Controller中想直接返回字符串,该怎么写,有两种情况的写法,如下

1、通过SpringMVC框架注入的response对象,使用response.getWriter().print("hello world")返回数据,此时不需要视图跳转,方法返回值为void

 

2、将需要返回的字符串直接返回,而不是返回视图。也就是我们需要通过@ResponseBody注解告诉SpringMVC框架,我给你的这个字符串需要给 我直接在http响应体中返回,而不是帮我拼接地址去找页面。简单说就是别让SpringMVC去找页面,我只是要返回一个字符串在新页面中显示

 

 

回写数据 -- 直接返回json格式的字符串

 

在pom.xml写入如下:

 

回写数据 -- 返回对象或集合

 

 

在spring-mvc.xml配置文件写入如下:

 

回写数据 -- 返回对象或集合2

 

我们前面的演示都离不开@ResponseBody注解,它的作用是返回json格式的字符串,但是缺点是配置比较麻烦,我们为了使用这一个注解,需要

我们可以额外使用mvc的另一个注解驱动,代替麻烦的配置。如下

该注解驱动的作用: 在SpringMVC的各个组件中,处理器映射器、处理器适配器、视图解析器称为SpringMVC的三大组件,使用该注解驱动可以自动 加载处理器映射器、处理器适配器,使用注解驱动我们只需要在spring-xml配置文件中写入

并添加mvc对应的命名空间

即可