黑马程序员技术交流社区

标题: Struts1和struts2的区别? [打印本页]

作者: qucc    时间: 2014-5-23 13:39
标题: Struts1和struts2的区别?
Struts1struts2的区别?


作者: Dark_Horse    时间: 2014-5-23 13:44
还没学到那里,沙发是我的,呵呵...
作者: 右手的依恋    时间: 2014-5-23 14:51
还没到呢  撸主好快。。。
作者: weimoliang    时间: 2014-5-23 15:39
本帖最后由 weimoliang 于 2014-5-23 15:49 编辑

两个完全不一样的东西,为什么要比较!!
Struts2是在WebWork2基础发展而来的。和Struts1一样, Struts2也属于MVC的web框架。
那么既然有了Struts1,为何还要推出Struts2?
Struts2和Struts1虽然都是基于MVC的Web框架,但是它们的实现机制完全不同。
Struts1是基于Servlet的实现,并且Struts1的API过分依赖容器,导致了Action开发、测试都非常繁琐,而Struts2是基于过滤器的实现,API不再依赖容器,测试过程中不必再模拟Web容器环境,开发、测试较Struts1都有很大的进步。
Struts1的Action是单例模式所有请求共享一个ActionServlet,所以线程必须是安全的,而Struts2每个请求都会绑定一个Action,不再有线程安全问题。
Struts2开始支持注解并提供了更为强大的OGNL标签库以及值栈,从类到页面的开发都更加简洁高效。

Struts2和Struts1都是基于MVC的Web层框架,所以,即便他们的实现机制不同,但是他们工作原理还是一样的,都是对请求进行拦截、分发、处理,之后返回页面。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2