概述
struts2.0是MVC思想的一个具体的框架。
struts2.0和struts1.0的关系
要想清楚struts1.0和struts2.0之间的关系,首先要知道WebWork,WebWork是MVC思想的又一个新框架,这个被OpenSymphony组织开发的框架,很大程度的得到大家的认可,在WebWork框架出来之前,Apache组织开发出了struts1.0,但是,由于WebWork框架相对于struts1.0来说,有诸多优点,于是,Apache又开发出了struts2.0,struts2.0是在WebWork基础上重新设计,兼容struts1.0的一个框架,所以,很大程度上,已经和struts1.0有了很多的区别。
上面说的都是最开始阶段,之后WebWork和struts是否合并等等情况,就没有做过多的查询。
struts2.0和struts1.0的区别
struts1.0和struts2.0从本质上是没有什么区别的,因为,他们都是MVC思想的实现的具体框架,要说不同的话,就是其具体的实现不同,当然,具体实现的不同也带来了其它方面的不同,这种不同大多是对于之前不足的一种改进。
struts2.0中的Action类,会在每次请求的时候,创建一个新的对象,因此,其action对象相对于线程来说,是线程安全的,而struts1.0中的Action类,因为其继承servlet,所以,其对象是线程内不安全的;struts2.0中的Action类,可以实现相应的接口或者继承相应的类,也可以不用,这样的程序中的Action类相对于struts2.0的依赖会减少;struts1.0的Action类是继承servlet,所以,其测试必须需要servlet容器,而struts2.0的Action类的测试,相对来说就没有这样的要求;struts1.0的自定义类型转换的配置只有全局的配置,没有局部的配置,而struts2.0的自定义类型转换类的配置,既有全局配置,又有局部配置;struts2.0的整个流程的顺序是可变,因为是通过过滤器进行的,但是,struts1.0的流程不可以修改。
总结
struts1.0和struts2.0之间的区别还有很多,但是,其本质是没有区别的。struts2.0是一个新设计思想的框架,比struts1.0来说要优秀,但是,在学习的过程的过程中,struts1.0的学习是非常必要的。