ModelAndView的使用(一)

来源:互联网 发布:php 打印数组的函数 编辑:程序博客网 时间:2024/06/05 06:41

1.简介:
ModelAndView中的两个模块Model指数据模型,View指UI视图。springmvc 处理http请求大致如下,一旦http请求过来DispatcherSevlet负责将请求分发,DispatcherSevlet可以理解为spring提供的前端控制器,所有请求都经过他来分发,DispatcherSevlet将请求分发给Controller,Spring Controller将处理来自DispatcherSevlet分发的请求,Spring Controller能够接收HttpServletRequest,HttpServletResponse,Spring为Controller提供了若干实现类,由于Controller需要为并发用户处理上述请求,因此,实现Controller接口时,必须保证线程安全并且可以重用,Controller将处理客户请求。一旦Controller处理完客户请求,则返回ModelAndView对象给DispatcherSevlet前端控制器,所以从宏观角度考虑,DispatcherSevlet是整个web应用的前端控制器,从微观角度考虑,Controller是单个http请求过程的控制器,而ModelAndView是http请求过程中返回的模型和视图,View能够渲染响应结构,Model能够给View提供渲染。
2. ModelAndView源码理解:
ModeAndView一共有七个构造器如图(反编译的源码去掉了注释):
这里写图片描述
本次主要讲解第二种构造器的使用
3. ModeAndView使用(1):
代码如图:
这里写图片描述
用于jsp页面时,客户请求的参数以queryWorld.do为例,这里后台必须保持方法名为queryWorld,不然会报错404,Service处可以填写数据处理业务逻辑,包括后边持久层使用添加,这里只是返回数据,通过setAttribute将返回的数据格式返回,最后的return new ModeAndView(“app/index”),其中index即为配置的index.jsp页面。