`

2 Struts2的优点与Struts1的区别:

阅读更多

 

单实例与多实例
有状态就是有数据存储功能,比如购物车,买一件东西放进去,可以再次购买或者删减。
无状态就是一次操作,不能保存数据。

有状态对象,就是有成员属性的对象,可以保存数据,是非线程安全的。
无状态对象,就是没有成员属性的对象.不能保存数据,是线程安全的。

Struts2 的Action是有状态的,是非线程安全的,所以是多实例的。
Struts1的Action是无状态的,是线程安全的,所以可以单实例。

无侵入式设计
Struts2没有像Struts1那样跟Servlet API有着紧密的耦合,Struts2的应用可以不依赖于Servlet API和Struts API。Struts2的这种设计属于无侵入式设计,而Struts1却属于侵入式设计。

使用OGNL表达式语言
OGNL提供了在Struts2里访问各种作用域中的数据的简单方式,你可以方便的获取Request,Attribute,Application,Session,Parameters中的数据。

使用了拦截器
Struts2 的拦截器是一个Action级别的AOP,Struts2中的许多特性都是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,可以将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能。在我实现的的一Web项目中,就是使用Struts2的拦截器来完成了系统中的权限验证功能。

全局结果与声明式异常
为应用程序添加全局的Result,和在配置文件中对异常进行处理,这样当处理过程中出现指定异常时,可以跳转到特定页面,这一功能十分实用。

方便的类型转换
Struts2提供了类型转换器,可以把特殊的请求参数转换成需要的的类型。Struts1中如果实现同样的功能,必须向Struts1的底层实现BeanUtil注册类型转换器。

其它

Struts2支持多种表现层技术,如JSP,freeMarker,Velocity等。
Struts2的输入校验可以对指定方法进行校验,解决了Struts1长久这痛。
Struts2提供了全局范围、包范围、Action范围的国际资源文件管理实现。

 

 

 

分享到:
评论
1 楼 zhangqi007 2013-09-23  

相关推荐

    struts2总结第一章

    a) Struts2是以web work优秀的设计思想为核心,吸收了struts1的部分优点,建立了一个基于webwork和struts1的MVC框架。 二、 优点: a) 结构清晰,使开发者只关注业务逻辑实现即可。 b) 提供了丰富的标签,大大提高了...

    李兴华 struts2开发实战经典 源码

    本源码主要涉及了Struts 2的核心操作包、配置文件、核心开发模式的使用,在本课程讲解的时候主要结合Struts 2的核心优点以及从代码比较上讲解了和Struts 1的区别,随后又包含了Struts 2中提供的各个优秀技术,如转换...

    Struts2+Spring+Hibernate+Ehcache+AJAX+JQuery+Oracle 框架集成用户登录注册Demo工程

    2.Action里通过struts2-spring-plugin.jar插件自动根据名字注入。 3.Ajax无刷新异步调用Struts2,返回Json数据,以用户注册为例。 4.在服务端分页查询功能,优点:实时性:跳页才查询。数据量小:只加载当前页的记录...

    Struts2的特点

    2、action是一个pojo,所以struts2.0与框架的藕合度非常低。 实现Action时有时会继承于ActionSupport, 覆盖execute方法,从而创建一个Action。 因为ActionSupport提供了很多方法可以为开发提供方便。 3、...

    MAX的Struts2教程源码

    作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易...

    struts2.3.16.1完整包

    struts2并不是一个陌生的web框架,它是以Webwork的设计思想为核心,吸收struts1的优点,可以说struts2是struts1和Webwork结合的产物。 本开发包与我的资源《轻量级Java EE企业应用实战(第4版):Struts 2+Spring 4...

    Struts2、Spring和Hibernate应用实例.

    作为最成功的Web框架,Struts自然拥有众多的优点:MVC 2模型的使用、功能齐全的标志库(Tag Library)、开放源代码。而Spring的出现,在某些方面极大的方面了Struts的开发。同时,Hibernate作为对象持久化的框架,能...

    易学struts2,最好的自学教材

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。 Struts2的使用人群逐渐增多,它在逐步吸引开发者和用户的...

    struts与webservice集成研究

    Struts是一个实现MVC模式的框架典范,在Struts框架下通过利用J2EE技术构建Web应用,很好地分离出表示层和业务数据层[1]。Struts框架具有组件构件化、重用性高等优点,它简化了基于MVC的Web应用程序开发。然而,仅仅...

    struts2 轻松入门 v1.0 struts2 轻松入门.rar

    软件介绍 Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。  Struts2的使用人群逐渐增多,它在逐步吸引...

    轻松入门之Struts2

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。 Struts2的使用人群逐渐增多,它在逐步吸引开发者和用户的...

    struts2 轻松入门 v1.0

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。 Struts2的使用人群逐渐增多,它在逐步吸引开发者和用户的...

    Struts2入门教程

    Struts2其实并不是一个陌生的Web框架,Struts2是以Webwork的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。 Struts2的使用人群逐渐增多,它在逐步吸引开发者和用户的...

    深入浅出Struts2(附源码)

    作者处处从实战出发,在丰富的示例中直观地探讨了许多实用的技术,如数据类型转换、文件上传和下载、提高Struts 2应用的安全性、调试与性能分析、FreeMarker、Velocity、Ajax,等等。跟随作者一道深入Struts 2,聆听...

    Struts2之struts2标签库了解和使用案例struts025

    参考博文:http://blog.csdn.net/u011638419/article/details/42119331

    struts2.0中文帮助手册.zip

    作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易...

    Struts2.chm

    作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点: 需要编写的代码过多,容易...

    Struts2.0学习Struts2.0文档

    为Struts 2.0做好准备 ...作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放源代码 但是,所谓“金无赤金,人无完人”,Struts自身也有不少的缺点:

    Struts2 入门教程

    Struts2教程,chm格式,Struts2 其实并不是一个陌生的Web框架,Struts2是以Webwork 的设计思想为核心,吸收了Struts1的优点,因此,可以认为Struts2是Struts1和Webwork结合的产物。

    Struts2 上课ppt教程

    struts是开源框架。使用Struts的目的是为了帮助我们减少在运用MVC设计模型来开发Web应用的时间。如果我们想混合使用Servlets和JSP的优点来建立可扩展的应用,struts是一个不错的选择。

Global site tag (gtag.js) - Google Analytics