关于Controller里面的方法中的参数问题

图片说明

很疑惑,这个方法中的参数传递request,resposer都可以看懂,但是Model model这是
干什么的?看不懂了,他又什么作用?

【1】Model model这是干什么的?
model主要是用来传值的,比较方便吧,,,用request,session什么的也是可以的效果差不多,,

下面是网上资料:
model的作用跟request的setAttribute(arg0, arg1) 是一样的,都是把值或是对象进行一个保存,
然后可以在视图上进行取值,同样都可以使用ognl表达式取值

那问题来了,为什么springmvc框架要使用model这个对象呢?

request他只是一个请求,他的作用就是从客户端发起一个请求,并且携带客户端发起的这个请求所带的参数,
在业务层中进行参数的获取并且做出相对应的处理,到这里这个request请求对象的工作就应该结束了,
剩下的就是客户端对这个请求和参数做出处理结果并且生成响应response返回客户端。

所以不应该用request进行存值,来达到模型层和视图层的一个连接,
所以才使用model或是modelandview这个专门的对象来进行模型层的存在和视图层的取值

model会在模型层进行存值,在视图层中,他会去检查model对象中是否用这个属性,
有他就会渲染出来,request请求结束后就会自动清除model的数据
原文链接:http://www.cnblogs.com/xiaohuihui96/archive/2016/12/12/6161140.html

Model 是一个接口, 其实现类为ExtendedModelMap,继承了ModelMap类。它用于controller和jsp的数据共享,在controller里面写入数据,在jsp中获取存储的数据。

其实你也可以把model 看成就是request 最后的数据还是要保存在request里面

简单点说,model 你看把它看成表,view 请求数据,contorller 来执行,
选择视图返回去,执行返回状态,告诉你view,model 在把数据返回去

原先你需要把返回给前端页面的数据放到request中,及request.setAttribute(key,value);再进行转发。现在不用了,你只需要把值放到model中,Spring自动完成转发,所以把值放到model中和放到requset中是一样的