`
snoopy7713
  • 浏览: 1152181 次
  • 性别: Icon_minigender_2
  • 来自: 火星郊区
博客专栏
Group-logo
OSGi
浏览量:0
社区版块
存档分类
最新评论

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范围的国际资源文件管理实现。

分享到:
评论

相关推荐

    Struts2与Struts1区别

    Struts2 和 Struts1 是两个著名的 Java Web 开发框架,它们都出自 Apache Software Foundation,但有着显著的区别。Struts1 是早期的 MVC 框架,而 Struts2 则是在 WebWork 框架的基础上发展起来的,它吸收了 Struts...

    struts2项目开发

    Struts2 框架的优点包括: 1. 灵活性:Struts2 框架提供了一个灵活的架构,可以根据项目的需求进行定制。 2. 可扩展性:Struts2 框架提供了一个可扩展的架构,可以轻松地添加新的功能。 3. 高效性:Struts2 框架...

    留言板留言板struts2留言板struts2

    1. **Struts2框架概述**:Struts2是Apache软件基金会下的开源项目,它继承了Struts1的优点,并融合了WebWork框架的许多特性。Struts2的主要目标是简化Java Web应用的开发,提供一套强大的MVC模式实现,支持多种视图...

    Struts2技术内幕 深入解析Struts架构设计与实现原理

    Struts2是Apache Software Foundation支持的一个开源项目,它是Struts1的下一代版本,继承了Struits1的优点,并在此基础上进行了大量的改进和优化,使之成为了一个更加成熟、稳定且功能强大的Web开发框架。...

    Migrating From Struts1 To Struts2

    随着技术的发展与进步,Struts1作为曾经广泛使用的Web应用框架,逐渐被Struts2等新一代框架所取代。Struts2以其更加灵活的设计、丰富的特性以及更好的性能表现成为众多开发者的首选。本文将深入探讨如何从Struts1...

    struts2的复习

    1. 框架概述:Struts2是Apache软件基金会的开源项目,它是Struts1的升级版,吸收了其他框架如WebWork的优点,提供更全面的功能和更好的性能。Struts2的目标是简化Web应用开发,提供强大的动作控制、拦截器机制和丰富...

    Struts2视频教程

    - **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,支持拦截器、类型转换、文件上传等特性。Struts2使用过滤...

    struts2验证框架

    1. Validator Framework:Validator Framework 是 Struts2 验证框架的核心组件,负责对用户输入的数据进行验证。Validator Framework 提供了一个通用的验证机制,可以对用户输入的数据进行验证。 2. Validators:...

    struts2与webwork2

    在探讨Struts2与WebWork2的联系与区别的过程中,我们不得不提到它们的历史渊源以及在Java Web开发领域中的地位。Struts2框架实际上可以视为WebWork2框架的继承者,两者之间的关系紧密而复杂,下面将从多个角度深入...

    struts2中文学习文档

    从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...

    Struts 1和Struts2 Jar包集合 你懂的

    - **概述**:Struts 2在2007年发布,它是Struts 1的升级版,结合了WebWork的优点,提供了更强大的功能和灵活性。 - **核心概念**:Action、Result、Interceptor(拦截器)是其关键元素,拦截器使得AOP(面向切面...

    Struts 2实战 struts2 in Action

    Struts 2是一个基于Java的开源Web应用框架,它继承了Struts 1的优点并进行了大量的改进和优化。下面将围绕该书的标题、描述以及部分标签来展开详细的讲解。 ### Struts 2框架概述 Struts 2框架是Apache软件基金会...

    Struts1,2所有经典开发文档

    - **框架演进**:Struts2是Struts1的升级版,它吸取了其他框架的优点,如WebWork,提供了更灵活的架构。 - **拦截器**:Struts2的核心是拦截器,它在Action调用之前和之后执行,实现了AOP(面向切面编程)。 - **...

    Struts2 技术内幕——深入解析Struts2架构设计与实现原理

    Struts2不仅继承了Struts1的核心思想,即MVC(Model-View-Controller)设计模式,还融合了WebWork、XWork等框架的优点,使得其功能更加强大且灵活。 - **MVC设计模式**:在Struts2中,模型(Model)负责管理应用...

    struts2测试案例

    它建立在Apache Jakarta的.struts1之上,并吸取了其他框架的优点,如WebWork,提供了更丰富的功能和更好的灵活性。 在初学者的`struts2测试案例`中,我们可以学习到以下核心知识点: 1. **Action类**:Struts2的...

    Struts2项目代码

    它继承了Struts1的优点,并引入了许多新特性,如拦截器、插件架构和更强大的动作映射等,使得Struts2在处理用户请求和业务逻辑方面更加灵活和高效。 1. **MVC模式**:Struts2的核心就是MVC模式,它将业务逻辑、数据...

    15年9月传智播客视频struts2

    它是Struts1的升级版,不仅继承了Struts1的优点,还在其基础上进行了大量的改进和增强。Struts2框架的主要特点包括但不限于: 1. **灵活性高**:Struts2提供了丰富的拦截器机制,可以根据实际需求灵活地配置不同的...

    Struts1和Struts2 的区别

    首先,Struts2并非完全从零开始的新框架,而是基于WebWork发展起来的,继承了WebWork的特性并吸收了Struts1的优点。Struts2在稳定性和性能上有所提升,提供了更丰富的功能和更高的灵活性。 1. **Action类的区别**:...

Global site tag (gtag.js) - Google Analytics