- 浏览: 805626 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (488)
- struts1 (4)
- spring (13)
- extjs (36)
- mysql (3)
- sqlserver (2)
- oracle (37)
- 杂谈 (11)
- 面试相关 (35)
- Java基础知识总结 (5)
- Java重要知识点 线程和io流知识点 (6)
- 服务器相关 (1)
- 生活 (1)
- jsp (7)
- servlet (2)
- junit (3)
- struts2 (9)
- 开发必备 (4)
- 使用开发工具总结的知识 (4)
- ibatis (12)
- ajax (2)
- dwr (2)
- jquery (1)
- 设计模式 (4)
- Lucene的学习 (5)
- 经验总结 (19)
- mysql全文搜索相关 (7)
- hibernate (33)
- Sphinx (1)
- log4j的总结 (1)
- 敏捷开发 (9)
- 持续集成 (15)
- UML使用总结 (1)
- Scrum (1)
- OO(面向对象编程) (1)
- struts1和struts2总结 (1)
- 数据库加密 (1)
- 多线程和Socket编程 (6)
- PowerDesigner (2)
- 权限相关 (1)
- ant应用总结 (4)
- 面试必知知识点总结 (6)
- io流与nio流总结 面试相关 (1)
- 敏捷管理工具的使用 (7)
- hsqldb相关 (1)
- svn源码相关 (2)
- debug调试技巧总结 (1)
- hibernate和ibatis对比相关 (6)
- eclipse mylyn 插件的使用总结 (2)
- fisheye使用总结 (2)
- java泛型总结 (1)
- ssh整合总结 (10)
- SpringSide的学习总结 (1)
- JPA学习总结 (2)
- RoR 总结 (2)
- 模型驱动 总结 (1)
- Oracle SQL优化技巧 (4)
- 数据库相关资料 (1)
- oracle练习相关 (4)
- PowerDesigner 使用总结 (2)
- Struts实现国际化相关 (2)
- 权限框架 Spring Security (1)
- freemarker使用总结 (1)
- jsp servlet总结相关 (3)
- Java NIO总结 (1)
- 自己学习必须 (3)
- 蝴蝶容器相关 (2)
- eclipse插件的使用 (1)
- myeclipse的使用 (1)
- flex相关 (1)
- javaeye重生后总结的知识点 (2)
- 公司学习总结 (3)
- JAXB 相关 (1)
- ECSide (1)
- EdoJs 企业ajax框架 (1)
- RSA加密算法 (1)
- jbpm相关 (1)
- JMF原理 (1)
- MyEclipse使用总结 (1)
- Funsion Charts 相关总结 (3)
- 常用知识2011 (2)
- Flex与Java整合 (1)
- IBM WebSphere相关 (1)
- jQuery使用技巧 (2)
- 2011年面试相关知识点总结 (2)
- sqlserver开发相关 (8)
- eclipse 打jar相关 (2)
- Oracle/Mysql/SqlServer比较 (1)
- WebService Axis1.4开发相关 (4)
- 进制数的转换 总结 (1)
- WebService Axis2.0开发相关 (0)
- iteye Struts2 Spring Hibernate整合相关 (3)
- iteye osgi资料相关总结 (1)
- iteye ifos相关相关 (1)
- iteye 国际化相关 (1)
- iteye Hibernate缓存机制 (4)
- iteye Struts2 总结 (1)
- iteye Struts标签总结 (0)
- iteye web配置文件大全 (6)
- iteye Efs 框架总结 (1)
- iteye sql优化 (2)
- iteye 大数据量高并发的数据库优化 (1)
- iteye 开发相关 (1)
- iteye s1sh 和 s2sh整合中的问题以及解决 (1)
- iteye s1sh整合实例 (1)
- iteye s2sh整合实例 (1)
- iteye 面试相关 基础篇 (1)
- iteye Android相关 (1)
- iteye 面试相关 Web篇 (1)
- iteye Sql Server相关 (0)
- iteye struts1与struts2比较 (1)
- iteye jquery 和Struts2 (0)
- iteye struts2与其他插件整合 (0)
- iteye jquery 开发相关 (1)
- iteye eclipse结合spket(Ext,Jquery)开发相关 (0)
- iteye myeclipse 使用技巧相关 (0)
- iteye Memcached 缓存系统相关 (0)
- iteye 常用软件相关 (0)
- iteye 最新技术预览 AjaxSwing (0)
- iteye struts上传下载相关 (0)
- iteye 新技术相关 (0)
- test (0)
- iteye 开发Java游戏相关 (0)
- iteye Java反编译 (0)
- iteye XML解析相关 (0)
- iteye 压缩ZIP相关 (0)
- iteye 面试相关 (0)
- iteye Android开发相关 (4)
- csdn (0)
- e-inoc (0)
- iteye http错误码对应说明 (0)
- iteye 面试扩展知识点 (0)
- iteye oracle面试相关 存储过程,触发器,游标等 (0)
- iteye english study (0)
- iteye starflow工作流引擎 (0)
- iteye IBM WebSphere Application Server Toolkit使用相关 (0)
- iteye spring3 (0)
- iteye mybatis (0)
- iteye js技巧总结 (0)
- iteye SEO优化相关 (2)
- iteye QUI网页界面集成框架 (1)
- iteye AjaxAnywhere (1)
- iteye Nutz相关 (1)
- iteye ibatis技巧 (0)
- iteye dwz (0)
- 128个ajax/javascript框架 (0)
- iteye 2012 Java Swing教程 (1)
- iteye 码头集装箱相关 (1)
- iteye swing (2)
- 兼职工作 (0)
- 2012 新总结的面试相关知识点 常用知识点 (1)
- 淘宝网店相关 (0)
- oracle 常用函数 2012新总结 (1)
- 我的时尚潮流屋 (0)
- 2012 年 面试新总结知识 (1)
- 技巧 (1)
- 2013总结 (1)
- 2015工作相关 (3)
- springmvc (5)
- EasyPR-Java (1)
- java (2)
- editplus 4.0 注册码 (1)
- android (1)
- oracle连接数据库相关 (1)
- 编程资料总结 (2)
- 20160808 (1)
- visio 2013 (1)
最新评论
-
drew926:
泛型的类型参数可以有多个?这是java哪个版本支持的?
java泛型总结 -
listenan:
赞!非常感谢。
Scrum总结 -
cwscwj:
写的很深刻,谢谢,看了一遍,过段时间打算再看一遍。
Scrum总结 -
hwedwin:
w
Struts 2中的OGNL\EL的使用总结 -
lanni2460:
不错 很好 支持……
sqlserver三个驱动包下载
Struts2.0的概述,总体总结
一.Struts2.0的产生的背景 在Struts 1中设计中,虽然体现了MVC架构的的思想,并且以强有力的功能轰动一时,是jsp革新的里程碑,但 也存在着多种缺陷,从而导致了Struts2.0的诞生。 缺陷: 1.支持的表现层技术单一 Struts 1只支持JSP作为表现层技术,不提供与其他表现层技术,例如Velocity、FreeMarker等技术的整合。 这一点严重制约了Struts 1框架的使用,对于目前的很多Java EE应用而言,并不一定使用JSP作为表现层技术 2.与Servlet API严重耦合,难于测试 因为Struts 1框架是在Model 2的基础上发展起来的,因此它完全是基于Servlet API的,所以在Struts 1的 业务逻辑控制器内,充满了大量的Servlet API。 当我们需要测试Action类的execute方法时,该方法有4个参数:ActionMapping、ActionForm、 HttpServletRequest和HttpServletResponse,初始化这4个参数比较困难,尤其是 HttpServletRequest和 HttpServletResponse两个参数,通常由Web容器负责实例化。由于HttpServletRequest和 HttpServletResponse两 个参数是Servlet API,严重依赖于Web服务器。因此,一旦脱离了Web服务器,Action的测试非常困难。 3.代码严重依赖于Struts 1 API,属于侵入式设计 Struts 1的Action类必须继承Struts 1的Action基类,实现处理方法时,又包含了大量Struts 1 API:如ActionMapping、 ActionForm和ActionForward类。这种侵入式设计的最大弱点在于,一旦系统需要重构时,这些Action类将完全没有利用价值 ,成为一堆废品。 以上这些原因导致需要新的架构来改善这些缺点,那么就导致了Struts2.0的诞生。 二.Struts2.0 不是Struts1.0的继承,而是WebWork的发展的结果。 1.Struts 1与webwork的比较 (1)架构设计方面: 相对于Struts 1存在的那些先天性不足而言,WebWork则更加优秀,它采用了一种更加松耦合的设计,让系统的Action不再与Servlet API耦合。使单元测试更加方便。 (2)表现层方面:Struts 1仅支持JSP表现层技术,WebWork支持更多的表现层技术,如Velocity、FreeMarker和XSLT等。 (3)处理流程方面:WebWork与Struts 1非常类似,它们的核心都由控制器组成,其中控制器都由两个部分组成: — 核心控制器ServletDispatcher,该控制器框架提供。 — 业务逻辑控制器Action,该控制器由程序员提供。 2.webwork的优点: (1)Action无需与Servlet API耦合,更容易测试,代码重用率高 在webWork中actionf无需继承Action类或者实现Action接口,只需要配置Struts.xml即可方便的运行,降低了与 Servlet API的耦合,无需再通过开动容器解析,即可测试。从而带来的好处就是代码独立性更强,提高了代码的重用性。 (2)支持更多的表现层技术,有更好的适应性 WebWork对多种表现层技术:JSP、Velocity和FreeMarker等都有很好的支持,从而给开发更多的选择,提供了更好的适应性。 3.Struts2.0 的产生 正是由于webwork的这些优点,同时也是Struts 1中所要改善的地方。那么互补便产生了Struts 2,Struts 2是Struts 1与webwork 连个框架的统一。但核心技术更偏向于webwork,因此重某种程度上说是威尔伯webwork的发展。 三.Struts 2体系介绍 1.Struts 2框架架构 Struts 2使用拦截器作为处理,以用户的业务逻辑控制器为目标,创建一个控制器代理来接受用户发来的数据,通过execute方法进行处理,然后返回结果。 具体的流程描述如下: (1)浏览器发送请求,指明用什么.Action来处理该请求。 (2)核心控制器 FilterDispatcher根据请求决定调用合适的Action。 (3)WebWork的拦截器链自动对请求应用通用功能。 (4)回调Action的execute方法,该execute方法先获取用户请求参数,根据实际请求,初始化具体的参数,调用业务逻辑组件来处理用户的请求。 (5)根据Action的execute方法处理结果信息查找配置文件转到相应的页面,可以是HTML页面、图像,也可以是PDF文档或者其他文档。此时支持的视图技术非常多,既支持JSP,也支持Velocity、FreeMarker等模板技术。 2. Struts 2的控制器组件 Struts 2的控制器组件是Struts 2框架的核心,事实上,所有MVC框架都是以控制器组件为核心的。Struts 2的控制器由两个部分组成:FilterDispatcher和业务控制器Action。 该Action类有如下优势: — Action类完全是一个POJO,因此具有很好的代码复用性。 — Action类无需与Servlet API耦合,因此进行单元测试非常简单。 — Action类的execute方法仅返回一个字符串作为处理结果,该处理结果可映射到任何的视图,甚至是另一个Action。 3.Struts 2与Struts 1的对比 (1)Action实现类方面:Struts 1要求Action类必须继承一个抽象基类;Struts 1的一个具体问题是使用抽象类编程而不是接口。Struts 2 Action类可以实现一个Action接口,也可以实现其他接口,使可选和定制的服务成为可能。 (2)Servlet依赖方面的对比:Struts 1 Action依赖于Servlet API,因为Struts 1 Action的execute方法中有HttpServletRequest和HttpServletResponse方法。 (3)可测性方面的对比:测试Struts 1 Action的一个主要问题是execute方法依赖于Servlet API,这使得Action的测试要依赖于Web容器。Struts 2 Action可以通过初始化、设置属性、调用方法来测试。
发表评论
-
Ext常用问题的总结
2010-10-30 10:48 1072scripts/ext/resources/css/ext ... -
扩展Ext中的组件
2010-10-30 10:45 969http://extjs.org.cn/node/89 ht ... -
EXT 的继承
2010-10-30 10:42 1082Ext提供了这样的一个实用函数 Ext.extend ... -
Mysql日期和时间函数大全
2010-10-29 17:48 941Mysql日期和时间函数大 ... -
Java字符集编码与转码
2010-10-29 17:32 1897Java字符集编码与转码 Java字符的c ... -
java字符操作及转码
2010-10-29 17:28 1536import java.util.*; import ... -
如何将一个字符串最快速的倒序输出
2010-10-29 17:26 2442import java.util.*; public ... -
生成随机数 不重复的随机抽取(完美版本)
2010-10-05 10:49 1665随机数相关: import java.io.FileInp ... -
java线程学习总结
2010-10-03 18:18 1115java线程学习总结 1.线程中一些基本术语和概念 1 ... -
Java线程总结
2010-10-03 18:16 849Java线程总结 首先要理解线程首先需要了解一些基 ... -
j2ee是什么?
2010-10-02 09:32 1312j2ee是什么? J2EE Java2平台企业版 ... -
关于Hibernate的工作原理总结
2010-09-30 08:49 1176关于Hibernate的工作原理 ... -
Jboss Weblogic Websphere 等服务器的区别
2010-09-29 18:27 1594Jboss Weblogic Websphere 等服务器的区 ... -
精通struts2的ognl表达式
2010-09-29 18:22 1168精通struts2的ognl表达式 Struts2 ... -
OGNL表达式语言介绍
2010-09-29 18:16 809OGNL表达式语言介绍 OGNL介绍 OGNL是Ob ... -
websphere,weblogic,tomcat区别
2010-09-29 18:10 1513websphere,weblogic,tomcat区别 ... -
事务的基本概念
2010-09-29 17:54 1033事务的基本概念 面试常问 1. 事务定义 事务( ... -
使用java 实现九九乘法表 面试常问
2010-09-29 17:36 1283使用java 实现九九乘法表 面试常问 public ... -
数据库连接池的工作机制 面试常问
2010-09-29 16:44 1976数据库连接池的工作机制 面试常问 当J2EE服务器 ... -
程序员应知——破窗与童子军军规
2010-09-17 17:25 877首先让我来解释一下这两个词,尽管看起来二者之间没有什么必然联系 ...
相关推荐
struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0struts2.0
01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 Struts 2.0的Action讲解 04 在Struts 2.0中国际化(i18n)您的应用程序 05 转换器(Converter)——Struts 2.0中的魔术师 06 在Struts 2.0中实现表单...
Struts2.0视频教程,struts2.0中文教程,Struts2.0视频教程,struts2.0中文教程,
sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0sstruts2.0 struts2.0
struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的魔术师 在Struts ...
JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...
struts2.0jar包 struts2.0包 struts2.0源文件
此为Struts2.0最新Jar包,方便各位用于Struts2.0的开发.
struts 2.0 详细配置 struts 2.0 详细配置 struts 2.0 详细配置
清晰的介绍了Struts 2.0框架的工作流程,Action线程安全,程序入口,配置文件。
为Struts 2.0做好准备 Struts作为MVC 2的Web框架,自推出以来不断受到开发者的追捧,得到用广泛的应用。作为最成功的Web框架,Struts自然拥有众多的优点: MVC 2模型的使用 功能齐全的标志库(Tag Library) 开放...
struts2.0 入门案例、简单的struts2.0入门案例 2.0配置包,基础
struts2.0源代码(有关于struts2.0实现上传与下载和如何操作数据库的源代码),非常有用
struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验struts2.0的数据校验
struts2.0的基本jar包,用于开发struts2.0的项目
Struts 2权威指南——第1章 Struts 2概述.doc Struts 2权威指南——第2章 Struts 2下的HelloWorld.doc Struts 2权威指南——第3章 Struts 2基础.doc 01 为Struts 2.0做好准备 02 常用的Struts 2.0的标志(Tag) 03 ...
struts2.0的特点