JAVA SpringMVC里的model和java里的session有什么区别?
两者作用域区别?生命周期区别?model.addAttribute和session.setAttribute有什么区别?在底层值栈有什么存储区别吗?网上没查到model的...
两者作用域区别?生命周期区别? model.addAttribute和session.setAttribute有什么区别?在底层值栈有什么存储区别吗?网上没查到model的
展开
2个回答
展开全部
其实model和session都是存放信息的地方,不同的地方就是他们的生命周期不同,model是request级别的。
ModelandView是将 视图信息和数据封装到一起的,spring来解析ModelandView中的信息,包括视图和数据 ,然后将数据set到request里面,并且根据model里面的视图信息以及spring mvc的配置让request进行跳转。
springMVC的工作原理如下:
springmvc请所有的请求都提交给DispatcherServlet,它会委托应用系统的其他模块负责负责对请求进行真正的处理工作。
DispatcherServlet查询一个或多个HandlerMapping,找到处理请求的Controller。
DispatcherServlet请请求提交到目标Controller 。
Controller进行业务逻辑处理后,会返回一个ModelAndView 。
Dispathcher查询一个或多个ViewResolver视图解析器,找到ModelAndView对象指定的视图对象 。
视图对象负责渲染返回给客户端。
展开全部
其实model和session都是存放信息的地方,不同的地方就是他们的生命周期不同,model是request级别的 ,如果有什么不懂的可以看源码
追问
我知道session是会话级,那model呢。 既然model是request级,直接用request域好了为什么还用model呢。。spring的源码太乱了 这个问题都纠结好久了。但是谢谢你了
追答
这样用肯定是有很多好处了,要不然傻呀,ModelandView是将 视图信息和数据封装到一起的,spring来解析ModelandView中的信息,包括视图和数据 ,然后将数据set到request里面,并且根据model里面的视图信息以及spring mvc的配置让request进行跳转,如果什么事情都用你自己操作request和response,那么要框架干什么
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询