前言
最近学习了springMVC框架,来屡屡,以便更好的理解这个框架.
概述
springMVC是spring框架的一个模块,也一个是基于MVC的web框架。
来看一下springMVC的整体框架:
原理解析
用户在客户端发起请求到前端控制器(DisPathcherServlet),然后前端控制器请求HandlerMapping查找Handler可以根据XML配置、注解进行查找。之后处理映射器HandlerMapping向前端控制器返回Handler,前端控制器调用处理器适配器去执行Handler,Handler执行完成给适配器返回ModelAndview。这时候前端控制器请求视图解析器去执行视图解析,并根据逻辑视图解析成jsp,之后视图解析器向前端控制器返回view,前端控制器进行视图渲染,视图渲染将模型数据在modelAndview对象中填充到request域,最后前端控制器向用响应结果。
springMVC与struts2的区别
springMVC是基于方法开发,struts2是基于类开发。springMVC是将URL和controller方法映射,映射成功后springMVC生成一个Handler对象,对象中只包括了一个method,当方法执行结束,形参数据也就被销毁。springMVC的controller开发类似service开发。
springMVC可以进行单例开发,并且建议使用单例开发,struts2通过类的成员变量接收参数,无法使用单例,只能使用单例。