struts2和springmvc区别?
Posted 啊一个女程序员
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2和springmvc区别?相关的知识,希望对你有一定的参考价值。
可以谈一谈Struts2 和SpringMVC 在请求-响应模型的上的区别。
struts2是通过filter实现的请求转发(或者说请求的初步处理)和初始化操作
springmvc是通过servlet实现的请求转发和初始化
Struts2处理请求是为每个请求都创建一个单独的Action类,Action类当中的Field属性参数作为输入和输出参数用IOC来依赖注入的方式,是基于类的。
而SpringMVC则采用输入Request和Reponse作为参数,返回ModelAndView的方式,是单例的模式,且是基于方法的模式。
无论是在web系统的开发中,还是在网络游戏的开发中,都会牵涉到request和response参数的处理问题,如何将request和reponse参数对应到我们的设计中,采用什么样的方式,处理情况是各种各种的。
SpringMVC的几大组件:
1)DispatcherServlet 根据请求的不同,将请求分发到不同的Controller处理器
2)Dispatcher 具体处理请求,返回逻辑视图
3)Handler Mapping
3)ModelAndView 返回的逻辑视图,注意,是逻辑视图,并不是真正的视图比如JSP页面,而是通过通过视图解析器VierResoler解气逻辑视图,返回真正的要发送给前端的视图
4)ViewResolver View 视图解析类
SpringMVC集成了Ajax,使用非常方便,只需一个注解@ResponseBody就可以实现,然后直接返回响应文本即可,而Struts2拦截器集成了Ajax,在Action中处理时一般必须安装插件或者自己写代码集成进去,使用起来也相对不方便。
SpringMVC验证支持JSR303,处理起来相对更加灵活方便,而Struts2验证比较繁琐,感觉太烦乱。
Spring MVC和Spring是无缝的。从这个项目的管理和安全上也比Struts2高(当然Struts2也可以通过不同的目录结构和相关配置做到SpringMVC一样的效果,但是需要xml配置的地方不少)。
设计思想上,Struts2更加符合OOP的编程思想, SpringMVC就比较谨慎,在servlet上扩展。
最后再补充一点SpringMVC开发效率和性能高于Struts2,SpringMVC可以认为已经100%零配置。
struts2有配置文件就是struts.xml
以及是dao biz action 三层
springMVC大体上是0配置
只有service和 Controller 两层
推荐阅读
Recommended reading
点击下列标题 阅读更多内容
|
|
|
|
|
|
以上是关于struts2和springmvc区别?的主要内容,如果未能解决你的问题,请参考以下文章