struts2和springmvc区别?

Posted 啊一个女程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了struts2和springmvc区别?相关的知识,希望对你有一定的参考价值。

struts2和springmvc区别?

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 视图解析类

struts2和springmvc区别?


struts2和springmvc区别?


struts2和springmvc区别?


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区别?的主要内容,如果未能解决你的问题,请参考以下文章

struts2和springmvc有啥区别

Springmvc和struts2的区别?

struts2和springmvc区别?

springmvc和struts2的区别

SpringMVC与struts2区别和第一个springMVC应用

传递集合参数以及SpringMVC和Struts2的区别