- 浏览: 824771 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (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 1102scripts/ext/resources/css/ext ... -
扩展Ext中的组件
2010-10-30 10:45 997http://extjs.org.cn/node/89 ht ... -
EXT 的继承
2010-10-30 10:42 1111Ext提供了这样的一个实用函数 Ext.extend ... -
Mysql日期和时间函数大全
2010-10-29 17:48 973Mysql日期和时间函数大 ... -
Java字符集编码与转码
2010-10-29 17:32 1930Java字符集编码与转码 Java字符的c ... -
java字符操作及转码
2010-10-29 17:28 1572import java.util.*; import ... -
如何将一个字符串最快速的倒序输出
2010-10-29 17:26 2471import java.util.*; public ... -
生成随机数 不重复的随机抽取(完美版本)
2010-10-05 10:49 1691随机数相关: import java.io.FileInp ... -
java线程学习总结
2010-10-03 18:18 1158java线程学习总结 1.线程中一些基本术语和概念 1 ... -
Java线程总结
2010-10-03 18:16 873Java线程总结 首先要理解线程首先需要了解一些基 ... -
j2ee是什么?
2010-10-02 09:32 1404j2ee是什么? J2EE Java2平台企业版 ... -
关于Hibernate的工作原理总结
2010-09-30 08:49 1206关于Hibernate的工作原理 ... -
Jboss Weblogic Websphere 等服务器的区别
2010-09-29 18:27 1630Jboss Weblogic Websphere 等服务器的区 ... -
精通struts2的ognl表达式
2010-09-29 18:22 1194精通struts2的ognl表达式 Struts2 ... -
OGNL表达式语言介绍
2010-09-29 18:16 839OGNL表达式语言介绍 OGNL介绍 OGNL是Ob ... -
websphere,weblogic,tomcat区别
2010-09-29 18:10 1549websphere,weblogic,tomcat区别 ... -
事务的基本概念
2010-09-29 17:54 1058事务的基本概念 面试常问 1. 事务定义 事务( ... -
使用java 实现九九乘法表 面试常问
2010-09-29 17:36 1325使用java 实现九九乘法表 面试常问 public ... -
数据库连接池的工作机制 面试常问
2010-09-29 16:44 2007数据库连接池的工作机制 面试常问 当J2EE服务器 ... -
程序员应知——破窗与童子军军规
2010-09-17 17:25 911首先让我来解释一下这两个词,尽管看起来二者之间没有什么必然联系 ...
相关推荐
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中实现表单...
Struts 2.0系列(MAX),pdf格式,全方位介绍struts2: 常用的Struts 2.0的标志(Tag)介绍 Struts 2.0的Action讲解 在Struts 2.0中国际化(i18n)您的应用程序 转换器(Converter)——Struts 2.0中的魔术师 在Struts ...
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0视频教程+struts2.0中文教程"包含的资源旨在...
JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0JavaEE源代码 Struts2.0...
Struts2.0是Java Web开发领域中的一款流行框架,它是Struts1.x与WebWork框架的结合体,继承了两者的优点并进行了创新。在Struts2.0中,核心概念之一是Action,它被设计为一个简单的POJO(Plain Old Java Object),...
Struts2.0是Java Web开发中的一个热门框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建动态Web应用程序的强大工具。API文档是理解任何框架核心功能的关键,对于Struts2.0也不例外。让我们深入...
Struts2.0是一款强大的Java Web框架,它在MVC(Model-View-Controller)设计模式的基础上,提供了灵活且强大的架构来构建企业级的Web应用程序。这个“Struts2.0 Jar包”包含了所有必要的库文件,使得开发者可以便捷...
Struts 2.0 是一个基于 Model-View-Controller (MVC) 设计模式的Java Web应用程序框架。它并非Struts 1的直接升级,而是源自WebWork框架,提供了更强大的特性和灵活性。Struts 2的核心是Action,它是业务逻辑处理的...
### Struts 2.0 详细配置解析 #### 一、Struts 2.0 简介 Struts 2.0 是一个基于 Java 的开源框架,用于开发 Web 应用程序。它继承了 Struts 1.x 的优点,并在架构上进行了改进,更加灵活且易于扩展。Struts 2.0 ...
struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架struts2.0的数据校验框架
Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Jakarta项目下的一个开源产品,主要用于构建MVC(Model-View-Controller)模式的应用程序。本入门案例将带你逐步了解如何使用Struts2.0来创建...
Struts2.0是Java Web开发中非常重要的一个MVC框架,它是在原有的Struts1.x基础上进行改进和发展而来的。这个"三大框架中文文档中的struts2.0开发手册"为程序员提供了一份详尽的参考资料,帮助他们理解和掌握Struts...
Struts 2.0是Java Web开发中的一个关键框架,它是Apache软件基金会的顶级项目,融合了原本独立的Struts 1.x和WebWork框架的优势,为开发者提供了一个强大、灵活且可扩展的MVC(Model-View-Controller)架构。...
Struts2.0是Java Web开发中一个非常重要的框架,它是Apache软件基金会的Struts项目的一个版本,专门用于构建基于MVC(Model-View-Controller)设计模式的Web应用程序。Struts2.0的出现极大地简化了Java Web开发,...
Struts2.0是Java Web开发中的一个强大框架,它基于Model-View-Controller(MVC)设计模式,为开发者提供了构建可维护性高、结构清晰的Web应用程序的工具。这个"Struts2.0学习系列"旨在帮助初学者及进阶者深入理解并...
Struts2.0 是一个非常流行的Java Web框架,它基于MVC(Model-View-Controller)设计模式,用于构建高效、可维护的企业级应用程序。这个压缩包包含了Struts2.0的核心jar文件以及可能的源代码,使得开发者可以直接查看...
#### 一、Struts2.0 概述 Struts2.0 是一款基于 Java 的开源 Web 应用框架,它继承了 Struts1.x 的设计理念并在此基础上进行了大幅改进。Struts2.0 主要面向企业级应用开发,提供了一种更加灵活、易于维护的方式来...
一、为Struts2.0做好准备 在开始Struts2.0的学习之旅前,首要任务是搭建开发和运行环境。这一步骤至关重要,它包括从Apache官方网站下载Struts2.0包,以及在Eclipse等IDE中创建新的Web项目。通过将Struts2.0的库...
Struts 2.0是Java Web开发中一个非常重要的MVC框架,它为构建基于J2EE的企业级应用提供了强大的支持。本指南将深入探讨Struts 2.0的核心概念、设计模式、配置以及实际应用中的最佳实践。下面,我们将详细讲解Struts ...