struts2的优点
Struts2 是一个相当强大的Java Web开源框架,是一个基于POJO的Action的MVC Web框架。它基于当年的Webwork和XWork框架,继承其优点,同时做了相当的改进。Struts2现在在Java Web开发界的地位可以说是大红大紫,从开发人员的角度来分析,Struts2之所以能够如此的深入开发人员之心,与其优良的设计是分不开的。
下面我从使用Struts2一年之久的经验来分析一下Struts2的优点:
1.Struts2基于MVC架构,框架结构清晰,开发流程一目了然,开发人员可以很好的掌控开发的过程。
我在项目开发过程中,一个具体的功能的开发流程是:拿到一个具体的功能需求文档和设计好的前台界面(在开发中我不负责设计页面),分析需要从前台传递哪些参数,确定参数的变量名称,在Action中设置相应的变量,这些参数在前台如何显示,并将页面上的一些控件适当使用Struts2提供的服务器端控件来代替,编写Action对应的方法来完成业务逻辑,最后,做一些与配置文件相关的设置。当然实际的开发比这个过程要复杂,涉及到数据库,验证,异常等处理。但是使用Struts2进行开发,你的关注点绝大部分是在如何实现业务逻辑上,开发过程十分清晰明了。
2.使用OGNL进行参数传递。
OGNL提供了在Struts2里访问各种作用域中的数据的简单方式,你可以方便的获取Request,Attribute,Application,Session,Parameters中的数据。大大简化了开发人员在获取这些数据时的代码量。
3.强大的拦截器
Struts2 的拦截器是一个Action级别的AOP,Struts2中的许多特性都是通过拦截器来实现的,例如异常处理,文件上传,验证等。拦截器是可配置与重用的,可以将一些通用的功能如:登录验证,权限验证等置于拦截器中以完成一些Java Web项目中比较通用的功能。在我实现的的一Web项目中,就是使用Struts2的拦截器来完成了系统中的权限验证功能。
4.易于测试
Struts2的Action都是简单的POJO,这样可以方便的对Struts2的Action编写测试用例,大大方便了Java Web项目的测试。
5.易于扩展的插件机制
在Struts2添加扩展是一件愉快而轻松的事情,只需要将所需要的Jar包放到WEB-INF/lib文件夹中,在struts.xml中作一些简单的设置就可以实现扩展。常用的Struts2的扩展可以通过这个链接找到:
http://cwiki.apache.org/S2PLUGINS/home.html
6.模块化
Struts2已经把模块化作为了体系架构中的基本思想,可以通过三种方法来将应用程序模块化:
将配置信息拆分成多个文件
把自包含的应用模块创建为插件
创建新的框架特性,即将与特定应用无关的新功能组织成插件,以添加到多个应用中去。
7.全局结果与声明式异常
为应用程序添加全局的Result,和在配置文件中对异常进行处理,这样当处理过程中出现指定异常时,可以跳转到特定页面,这一功能十分实用。
分享到:
相关推荐
#### 一、STRUTS2 优点概述 **1. Action 实现灵活性:** - **STRUTS2 的 Action 设计更灵活:**与 STRUTS1 中 Action 必须继承自 `Action` 类不同,STRUTS2 允许 Action 作为 POJO(Plain Old Java Object)存在,...
Struts2 框架的优点包括: 1. 灵活性:Struts2 框架提供了一个灵活的架构,可以根据项目的需求进行定制。 2. 可扩展性:Struts2 框架提供了一个可扩展的架构,可以轻松地添加新的功能。 3. 高效性:Struts2 框架...
1. **Struts2框架概述**:Struts2是Apache软件基金会下的开源项目,它继承了Struts1的优点,并融合了WebWork框架的许多特性。Struts2的主要目标是简化Java Web应用的开发,提供一套强大的MVC模式实现,支持多种视图...
- **定义与特点**:Struts2是一款基于MVC(Model-View-Controller)设计模式的Java Web应用程序框架,它继承了Struts1的优点,同时在设计上更加灵活、易用,支持拦截器、类型转换、文件上传等特性。Struts2使用过滤...
通过上述对比可以看出,Struts2相比Struts1在很多方面进行了改进和优化,尤其是在灵活性、可测试性以及对现代Web开发的支持上有着显著的优势。尽管如此,在某些特定的应用场景下,Struts1可能仍然有其适用之处。选择...
Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并吸取了其他优秀框架如WebWork的优势。Struts2的核心是Action,它负责处理用户请求,并通过Interceptor(拦截器)机制来增强Action的功能。此外...
- **优势**:使用 Struts2 可以显著提高开发效率,因为它能够处理很多基础任务,如数据接收、类型转换、验证等。 **1.2 Struts2 架构** - **MVC 架构**:Struts2 采用经典的 MVC 架构,分为模型(Model)、视图(View)...
这些特性后来都被融入到了Struts2中,使得Struts2不仅继承了WebWork的优点,还在此基础上进行了改进和扩展,成为了更加强大和灵活的框架。 ### Struts2的关键特性 1. **拦截器机制**:这是Struts2的核心概念之一,...
Struts2 验证框架有许多优点,包括: 1. 灵活性:Struts2 验证框架提供了高度的灵活性,可以根据不同的业务逻辑编写Validators和Validation Rules,以满足不同的验证需求。 2. 可扩展性:Struts2 验证框架提供了...
Struts 2是一个基于Java的开源Web应用框架,它继承了Struts 1的优点并进行了大量的改进和优化。下面将围绕该书的标题、描述以及部分标签来展开详细的讲解。 ### Struts 2框架概述 Struts 2框架是Apache软件基金会...
Struts1 是早期的 MVC 框架,而 Struts2 则是在 WebWork 框架的基础上发展起来的,它吸收了 Struts1 和 WebWork 的优点,提供了一个更强大、更灵活的解决方案。 1. **Action 类的设计**: - 在 Struts1 中,Action...
Struts2是一个强大的Java web应用程序框架,用于构建和维护可扩展、易于维护的MVC(Model-View-Controller...通过熟练掌握这些知识点,开发者可以更好地利用Struts2的优势,提高开发效率,创建出高质量的Java web项目。
- **社区与生态**:Struts2凭借其更广泛的社区支持和丰富的插件资源,成为了Java Web开发领域的主流框架之一,而WebWork2虽然在某些方面有其独特优势,但总体上已被Struts2所超越。 - **兼容性问题**:Struts2在与...
它是Struts1的升级版,不仅继承了Struts1的优点,还在其基础上进行了大量的改进和增强。Struts2框架的主要特点包括但不限于: 1. **灵活性高**:Struts2提供了丰富的拦截器机制,可以根据实际需求灵活地配置不同的...
- **定义与背景**:Struts 2是一个基于Java的开源Web应用框架,继承了Struts 1的优点并进行了大量的改进与优化。它支持多种编程模型,并且易于与其他框架(如Spring、Hibernate等)集成。 - **MVC架构**:Struts 2...
它继承了Struts1的优点,并引入了许多新特性,如拦截器、插件架构和更强大的动作映射等,使得Struts2在处理用户请求和业务逻辑方面更加灵活和高效。 1. **MVC模式**:Struts2的核心就是MVC模式,它将业务逻辑、数据...
5. **Struts2标签的优势**: - 避免过多的JSP脚本和表达式,提高页面可读性。 - 与Action强关联,方便数据绑定和验证。 - 提供内置的错误处理和国际化支持。 - 自动处理XSS攻击,增强安全性。 6. **使用步骤**...