spring springMVC Struts2 区别
Spring:
Spring是IOC和AOP的容器框架,Spring是一个通用解决方案, 最大的用处就是通过Ioc/AOP解耦, 降低软件复杂性, 所以Spring可以结合SpringMVC等很多其他解决方案一起使用, 不仅仅只适用于WEB开发。
SpringMVC
Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,可以选择是使用内置的 Spring Web 框架还是 Struts 这样的 Web 框架。通过策略接口,Spring MVC框架是高度可配置的,而且包含多种视图技术,例如 JavaServer Pages(JSP)技术、Velocity、Tiles、iText 和 POI。Spring MVC 框架并不知道使用的视图,所以不会强迫您只使用 JSP 技术。
Spring MVC 分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。
Spring的MVC框架主要由DispatcherServlet、处理器映射、处理器(控制器)、视图解析器、视图组成。
SpringMVC运行原理:
1、客户端请求提交到DispatcherServlet。
2、由DispatcherServlet控制器查询一个或多个HandlerMapping,找到处理请求的Controller。
3、DispatcherServlet将请求提交到Controller。
4、Controller调用业务逻辑处理后,返回ModelAndView对象。
5、DispatcherServlet查询一个或多个ViewResoler视图解析器,找到ModelAndView指定的视图。
6、视图负责将结果显示到客户端。
SpringMVC接口解释:
a、DispatcherServlet接口:Spring提供的前端控制器,所有的请求都有经过它来统一分发。在DispatcherServlet将请求分发给Spring
Controller之前,需要借助于Spring提供的HandlerMapping定位到具体的Controller。
b、HandlerMapping接口:能够完成客户请求到Controller映射。
c、Controller接口:需要为并发用户处理上述请求,因此实现Controller接口时,必须保证线程安全并且可重用。Controller将处理用户请求,这和Struts
Action扮演的角色是一致的。一旦Controller处理完用户请求,则返回ModelAndView对象给DispatcherServlet前端控制器,ModelAndView中包含了模型(Model)和视图(View)。
Spring和SpringMVC的联系
Spring>SpringMVC,spring和SpringMVC是一种父子关系。SpringMVC是spring扩展出的一个应用于web端的框架。在这里需要注意的一点,就是到底什么是父子容器关系:
spring主要的作用是黏合其他模块组件,进行统一管理,springmvc则主要是负责web端。那么,我们都知道,我们在应用spring的时候,可以使用注入。这个时候,如果我们的web端是用的SpringMVC,这个时候,controller理论上是通过SpringMVC去注入,但是,使用spring注入,同样是可行的。同理,service等层,使用SpringMVC配置的统一扫描装配也是可以的。所以,如果说只是为了使用spring的依赖注入,是大可不必将springMVC和spring同时使用的。他们完全可以分开!
Struts和SpringMVC的区别:
1,如果说项目中使用了spring,那么还是使用SpringMVC吧,因为相对于融合Struts来说,spring和SpringMVC是非常完美的无缝链接。
2,SpringMVC的拦截粒度是方法,而Struts的粒度是类
3,入口不同,SpringMVC的入口是servlet,而Struts是filter
4,如果使用注解的话,SpringMVC基本上是零配置,而Struts需要配置很多。

浙公网安备 33010602011771号