`

为何选 Struts 2

阅读更多

本文转载自:http://www.iteye.com/wiki/taojintianxiastruts2/1579-4-why-use-struts2?

新版本的Struts2.0struts action架构和webwork的融合体.依照Struts2.0.1的发布公告,一些关键特性如下 :

 

l    设计简单: 使用抽象类而不是接口是Struts1的一个设计上的问题,这已经在Struts2中得到了解决.Struts2中绝大多数类都是基于接口的,并且它的绝大多数核心接口都是独立于HTTP.Struts2Action类是独立于框架的,可视为单纯的POJO.框架的组件都设法保持松耦合

 

l    单纯的Action : Action都是单纯的POJO.任何含有execute()方法的java类都可以当作Action类来使用.甚至我们始终都不需要实现接口.反转控制会在开发Action类的时候得到介绍过,这能让Action中立于底层框架.

 

l    不再使用ActionForm : ActionForm特性不再在Structs2中出现.简单的JavaBean即可对Action直接传递参数.不再需要全部使用String类型的参数.

 

l    简单的测试 : Struts2Action是独立于HTTP并且中立于框架的.这使得Struts2的程序可以很容易的在没有模拟对象的情况下测试.

 

l    巧妙的默认值 : 大多数配置元素都设有一个根据需要设定的默认值.甚至根据需要基于XML的默认配置文件都可以进行重写.

 

l    改良的结果集 : 不像Struts1中的ActionForward,Struts2的结果集灵活的提供了多种类型的输出,事实上这促进了响应的准备工作.

 

l    更好的标签特性 : Struts2可以添加样式表驱动标记,这使我们创建相同的页面仅用更少的代码.Struts2的标签更有效而且是面向结果的.Struts2的标签标记可以通过修改基础样式表来修改.个别的标签标记可以通过编辑FreeMarker的模板来修改.JSPFreeMarker都完全得到了支持.

 

l    引入注释 : Struts2程序中,除了XMLJava properties 配置文件外,Java 5的注释也可以作为一种选择.注释使得XML的使用降至最低.

 

l    有状态的Checkbox : Struts2中的checkbox不需要对false值进行特殊处理.

 

l    快速开始 : 很多改变无需重启web容器即可实现.

 

l    自定义控制器 : Struts1可以自定义每一个模块的请求处理器,如果需要,Struts2可以自定义每一个Action的请求处理.

 

l    易与Spring整合 : Struts2ActionSpring是友好的,只需添加Springbean

 

l    轻巧的插件 : Struts2可以通过添加一个Jar文件来进行扩展,不再需要手动配置!

 

l    支持AJAX : AJAX主题对提升程序交互有着重要的意义.Struts2框架提供了一套标签来AJAX化你的程序甚至DOJO.AJAX特性包括:

1.      AJAX客户端验证.

2.      支持远程表单提交.(同样适用于submit标签)

3.      先进的div模板提供动态重载部份HTML

4.      先进的模板提供远程加载和计算Javascript的能力.

5.      AJAX-only选项卡面板的实现

6.      丰富的发布/订阅事件模型

7.      自动交互完善标签

分享到:
评论

相关推荐

    Struts1与Struts2本质区别

    Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。Struts 2提供一个ActionSupport基类去实现常用的接口。即使Action接口不是必须实现的,只有一个包含execute方法的POJO...

    struts1.0和struts2

    ◆Struts 2 Action类可以实现一个Action接口,也可实现其他接口,使可选和定制的服务成为可能。Struts2提供一个ActionSupport基类去实现 常用的接口。Action接口不是必须的,任何有execute标识的POJO对象都可以用作...

    Struts2 in action中文版

    9.1 为什么在Struts 2中使用Spring 196 9.1.1 依赖注入能做些什么 197 9.1.2 Spring如何管理对象和注入依赖 199 9.1.3 使用接口隐藏实现 200 9.2 将Spring添加到Struts 2 202 9.2.1 让Spring管理动作、拦截器和结果...

    Struts2入门教程(全新完整版)

    10.为什么要使用struts2代替struts1.x 7 二、struts.xml配置及例程 7 1.配置文件的优先级 7 2.配置形式 8 3.package配置相关 8 4.分工合作include:指定多个配置文件 10 5.tomcat认证访问 10 6.初识拦截器 11 7....

    Struts2整合SiteMesh技巧

    <filter-class>org.apache.struts2.dispatcher.ActionContextCleanUp</filter-class> filter> <filter> <filter-name>sitemesh</filter-name> <filter-class>...

    基于struts2的餐饮收费系统

    采用struts框架,利用jQuery与前台页面进行交互,后台利用struts的mvc基本思想进行开发出一个功能完善,页面交互性强的餐饮收费系统。可供大家学习和借鉴,如有技术问题可联系笔者

    最新版本的Struts2+Spring4+Hibernate4三大框架整合(改进:增加整合Quartz和Gson)

    整合使用最新版本的三大框架(即Struts2、Spring4和Hibernate4),搭建项目架构原型。 项目架构原型:Struts2.3.16 + Spring4.1.1 + Hibernate4.3.6 + Quartz2.2.1。 此外,还有:Quartz、JUnit4、Log4j、SLF4J、...

    Struts2的工作原理和流程

    2 这个请求经过一系列的过滤器(Filter)(这些过滤器中有一个叫做ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,...

    JAVA COS上传实例支持Struts2

    COS这个文件上传组件可以说在几个开源的上传文件组件中性能是非常优秀的,上传速度很快(相比fileUpload,smart等组件),但在使用Struts2结合COS文件上传时要注意Struts2实现了自己的MultiPartRequest,这个过滤后的...

    struts2项目使用的初级常用jar包

    strut2基础jar包,选了在基础阶段常用的struts2内的jar包,可以满足基本开发需求

    Struts2 实现部门员工管理

    使用Struts2实现部门员工两张表的增删改查 ,里面包含了对复选框,单选按钮,下拉框,密码框,文本域的操作。

    struts2.1.6+spring2.0+hibernate3.2常用配置包

    最近温习ssh2整合编程,顺便浏览下struts2有什么更新的消息,下载了新版本的struts2的2.1.8.1版,使用的是MyEclipse8.0开发,但是问题就随之而来了。MyEclipse8.0中自带的struts2版本是2.1.6,spring版本有2.0,2.5...

    struts2开发文档

    ActionContextCleanUp的可选过滤器,这个过滤器对于Struts2和其他框 架的集成很有帮助,例如:SiteMesh Plugin) 3 接着FilterDispatcher被调用,FilterDispatcher询问ActionMapper来 决定这个请是否需要调用某个...

    struts2-2.3.32 相关jar包

    最近有个项目做等保测评,发现存在S2-045漏洞,需要替换struts2 的jar,因为我们项目比较老,所以选择用2.3.32版本,分享给大家,本意是想免费的,不知道为什么资源分数不能选免费。。。

    Struts2_表单标签简介 示例

    Struts2_表单标签简介 示例 下拉菜单框,多选框,单选框,文本输入框等等示例

    对 Struts 2 的 s: iterator tag 中嵌套的所有 s: checkbox 进行全选、反选操作

    NULL 博文链接:https://shupili141005.iteye.com/blog/667446

    OpenID简介及与struts2_spring_hibernate框架集成

    1.3. OpenID是什么 - 2 - 第二章 技术介绍 - 3 - 2.1. 支持技术 - 3 - 2.2. 协议 - 4 - 2.2.1. Relying Party站点请求用户标识 - 5 - 2.2.2. “标准化”: Relying Party站点整理用户标识 - 5 - 2.2.3. “发现”: ...

    struts2与hibernate的整合实现数据的crud

    struts2与hibernate的整合实现数据的crud操作,还有复选框删除的实例,运用了Jquery的技术。 里面有使用需知,欢迎大家下载。

    Jboss7上+maven搭建struts2+spring3+hibernate3完整能运行源码

    Jboss7上+maven搭建struts2+spring3+hibernate3完整能运行工程源码,在tomcat7上运行也成功测试了,注意:我工程文件是用myeclipse2013开发的,你需要导入自己ide的时候,会有兼容性问题:最好阁下是自己新建一个maven...

    Struts2-RCE:Burp Extender用于检查struts 2 RCE漏洞

    Struts2-RCE 一个Burp Extender,用于检查struts 2 RCE漏洞。描述此burp扩展有助于识别struts2 Web应用程序中的Struts2远程代码执行漏洞。 此Burp扩展程序检测以下18个RCE,它们是S2-001 S2-007 S2-008 S2-012 S2-...

Global site tag (gtag.js) - Google Analytics