响应数据和结果视图
之前前10个SpringMVC的文章都是请求
之后的内容是 我们执行完方法之后,执行需要跳转到的页面,最终给用户做一个响应。
SpringMVC提供了很多种响应的方式
1 返回值分类
1.1 返回值是字符串
创建一个新的工程,同时再webapp底下创建一个response.jsp文件
解决中文控制台输出乱码问题!!!
-Dfile.encoding=UTF-8
然后我们模拟数据库,创建domain.User 类
再UserController中加入如下代码:
做开发的大致流程就是:
一发请求,后台把数据查出来,存入到model对象存到requested转发到页面
再从requested域里面把值取出来
1.2 返回值是void
1.2.1 方法1
发送请求
然后执行方法:
现在没有返回值,没有返回字符串,不应该再往success页面去跳转
那么怎么解决这个问题,有什么默认情况
我们先运行一下看一下结果
首先,这个方法是执行了的。
但是报错404
`
它会请求pages/user/testVoid.jsp
说明当你没写返回值,请求路径叫什么,它会默认的再去请求这个请求路径名称的jsp文件
是不是我要到pages底下的user创建一个页面testVoid.jsp呢?
这样做的是可以的,但是可以使用其他方法
使用request,和response
点击 ,结果显示:成功
跳转到success.jsp页面 成功
1.2.2 方法2 重定向 (等于发了一个新的请求)
假设我们跳转到index.jsp文件上
1.2.3 方法3 直接响应
输出记过成功!!
1.3 返回值是ModelAndView对象
ModelAndView对象是Spring提供的一个对象,可以用来调整具体的JSP视图
跟如下的这个代码功能是一样的,不过是写法不同!!!
进行如下操作:
- 1 创建ModelAndView对象 变量名mv
- 2 模拟从数据库中查询出User对象
- 3 把user对象存储到mv对象中,也会把user对象存入到request对象
- 4 你想要跳转到哪个页面(再Springmvc.xml设置的视图解析器里面跳转到路径下寻找)