下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、一、Struts 在项目中的作用a)b)Struts 在项目主要起控制作用,只要用于 web 层(即视图层和控制层)Struts 本身是使型的 MVC 结构实现的,项目中使用了 struts 之后就等于项目也是一个 MVC 结构,使项目结构更清晰,分工更明细。Struts 在项目中主要负责视图层、控制层,在视图层提供了大量的c)库,提高视图层的开发速度。在控制层使用 控制器(Actionsupport)和配置文件(struts.xml),实现 用户请求、封装请求参数及页面导航。优点:实现 MVC 模式,结构清晰,使开发者只关注业务逻辑的实现.有丰富的 tag 可以用 ,Struts 的标记库(
2、Taglib),如能灵活动用,则能大大提高开发效率。另外,就目前国内的 JSP 开发者而言,除了使用 JSP 自带的常用标记外,很少开发自己的标记,或许 Struts 是一个很好的起点。页面导航.页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着4.5.6.的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。提供 Exception 处理机制 .数据库池管理支持 I18Ne)缺点:1、 转到展示层时,需要配置 forward,每一次转到展示层,相信大多数都是直接转到 jsp,而涉及到转向
3、,需要配置 forward,如果有十个展示层的 jsp,需要配置十次 struts,而且还不包括有时候目录、文件变更,需要重新修改 forward,注意,每次修改配置之后,要求重新部署整个项目,而 tomcate 这样的服务器,还必须重新启动服务器,如果业务变更复杂频繁的系统,这样的操作简单不可想象。现在就是这样,几十上百个人同时使用的系统,大家可以想象一下,烦恼有多大。2、 Struts 的 Action 必需是 threadsafe 方式,它仅仅允许一个实例去处理所有的请求。所以 action 用到的所有的资源都必需同步,这个就引起了线程安全。3、 测试不方便. Struts 的每个 Ac
4、tion 都同 Web 层耦合在一起,这样它的测试依赖于 Web 容器,单元测试也很难实现。不过有一个 Junit 的扩展工具 Struts TestCase 可以实现它的单元测试。4、 类型的转换. Struts 的 FormBean 把所有的数据都作为 String 类型,它可以使用工具 Commons-Beanutils 进行类型转化。但它的转化都是在 Class 级别,而且转化的类型是不可配置的。类型转化时的错误信息返回给用户也是非常的。5、 对 Servlet 的依赖性过强. Struts 处理 Action 时必需要依赖 ServletRequest 和ServletRespons
5、e,所有它摆脱不了 Servlet 容器。6、 前端表达式语言方面.Struts 集成了 JSTL,所以它主要使用 JSTL 的表达式语言来获取数据。JSTL 的表达式语言在 Collection 和索引属性方面处理显得很弱。7、 对 Action 执行的控制. Struts 创建一个 Action,如果想控制它的执行顺序将会非常。甚至你要重新去写 Servlet 来实现你的这个功能需求。8、 对 Action 执行前和后的处理. Struts 处理 Action 的时候是基于 class 的hierarchies,很难在 action 处理前和后进行操作。9、 对事件支持不够. 在 stru
6、ts 中,实际是一个表单 Form 对应一个 Action 类(或DispatchAction),换一句话说:在 Struts 中实际是一个表单只能对应一个事件,struts 这种事件方式称为 application event,application event 和 component event 相比是一种粗粒度的事件。二、Spring 在项目中的作用a)Spring 是一个全方位的整合框架,在项目中对 hibernate 和 struts 进行整合,解决层与层之间的耦合问题。b)c)Spring 的作用贯穿了整个中间层,将 Web 层、Service 层、层及 PO 无缝整合。Sprin
7、g 的 IoC 来实现组件之间的依赖关系注入,上层框架不会渗透到下层组件,提高组件移植性和重用性,使得程序更灵活,上层框架不依赖实现而是依赖于抽象(委托接口)、使得实现类的变化不会影响上层组件,解决了层与层之间的藕合带来的或升级d)SprinP 是面向切面编程,实现事务处理、日志服务等与业务无关的系统服务,实现插件式编程。e)优点它是一个开源的项目,而且目前非常活跃;它基于IoC(Inverof Control,控制反转)和 AOP(面向切面)的构架多层j2ee 系统的框架,但它不强迫你必须在每一层中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了
8、很优雅的 MVC,对不同的数据技术提供了的接口,采用 IoC 使得可以很容易的实现 bean 的装配,提供了简洁的 AOP 并据此实现TranscationManagment,等等a. Spring 能有效地组织你的中间层对象,不管你是否选择使用了 EJB。如果你仅仅使用了 Struts 或其他为J2EE 的 API 特制的framework,Spring 致力于解决剩下。b. Spring 能消除在许多工程中常见的对Singleton 的过多使用。根据经验,这是一个很大,它降低了系统的可测试性和面象的程度。c. 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring 能消除各种
9、各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个魔法般的属性项或系统属Javadoc 甚至源编码?有了Spring,你仅仅需要看看类的JavaBean 属性。Inver到不解,为此不得不去读of Control 的使用(在下面)帮助完成了这种简化。d. 通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring 能够促进养成好的编程。e. Spring 被设计为让使用它创建的应用尽可能少的依赖于他的 APIs。在 Spring 应用中的大多数业务对象没有依赖于Spring。f. 使用Spring 构建的应用程序易于单元测试。g. Spring 能使EJB 的使用成为一个实现选择
10、,而不是应用架构的必然选择。你能选择用POJOs 或local EJBs来实现业务接口,却不会影响调用代码。h. Spring 帮助你解决许多问题而无需使用EJB。Spring 能提供一种EJB 的替换物,它们适用于许多web 应用。例如,Spring 能使用AOP 提供道,甚至不需要一个JTA 实现。性事务管理而不通过EJB 容器,如果你仅仅需要与单个数据库打交i. Spring 为数据存取提供了一个一致的框架,不论是使用的是JDBC 还是 O/R map产品Spring 确实使你能通过最简单可行的解决办法来解决你。而这是有有很大价值的。f)缺点jsp 中要写很多代码、控制器过于灵活,缺少一
11、个公用控制器。三、Hibernate 在项目中的作用a)Hibernate 应用于数据持久化层,是对 JDBC 的轻量级封装。是一种对象、关系的工具, 提供了从 Java 类到数据表的,也提供了数据查询和恢复等机制,的复杂度。把对数据库的直接操作 , 转换为对持久对象的操作。大大减少数据b)在项目中的主要作用就是 1、解决程序与数据库的依赖,即使用了 Hibernate 之后,以后更改数据库不需要更改代码,因为 Hibernate 会根据数据库方言来生成对应的SQL 语句;2、是对 JDBC 的轻量级封装,简化持久层的代码,提高开发速度。c)优点Hibernate 是一个开放源代码的对象关系框
12、架,它对JDBC 进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来数据库。Hibernate 可以应用在任何使用JDBC 的场合,既可以在Java 的客户端程序使用,也可以在Servlet/JSP的Web 应用中使用,最具据持久化的重任。意义的是,Hibernate 可以在应用EJB 的J2EE 架构中取代CMP,完成数大多数开发机构经常采取创建各自独立的数据持久层。一旦底层的数据结构发生改变,那么修改应用的其余部分使之适应这种改变的代价将是十分巨大的。Hibernate 适时的填补了这一空白,它为 Java 应用提供了一个易用的、高效率的对象关系框架。hibernate 是个轻量级的持久性框架,功能却非常丰富。1. Hibernate 使用 Java 反射机制而不是字节码增强程序来实现透明性。2. Hibernate 的性能非常好,因为它是个轻量级框架。的灵活性很出色。3. 它支持各种关系数据库,从一对一到多对多的各种复杂关系d)缺点1、由于 Hibernate 实现了复杂的关系灵活。,并且进行大量的封装,所以对于复杂的查询语句不是很2、它限制您所使用的对象模型。(例如,一个持久性类不能到多个表),尽管如此,Hibernate 还是以其强大的发展动力减轻了这些风险。其他的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 临床整体护理病历书写
- 极端天气对罕见病患者医疗可及性的影响
- 极端低温对血液制品冻融的影响
- 脑出血患者呼吸功能支持
- 高中“知古今”2025年历史说课稿
- 初中2025年环保行动说课稿
- 2026年河南商丘市柘城县乡镇三校初中学业水平模拟物理试卷(含答案)
- 2025-2026学年福建省莆田一中高一下学期期中英语试题(兰英班)
- 初中2025年冬陶渊明说课稿
- 初中2025书写练习主题班会说课稿
- 2026年考研心理学专业基础真题及详解
- 2026年4月自考00600高级英语试题
- 2026江西省铁路航空投资集团有限公司第一批社会招聘23人笔试备考题库及答案详解
- 2026年广东省惠州市中考历史一模试卷(含答案)
- 武汉市2026届高三年级四月供题(武汉四调)语文试卷
- 2026北京市中考历史知识点背诵清单练习含答案
- 2026湖南郴电国际发展股份有限公司校园招聘50人备考题库及答案详解1套
- 新疆乌鲁木齐市天山区2026年中考一模语文试题(含答案)
- 房屋巡查工作制度
- TCPIA 0028.1-2024《光伏组件用玻璃 第1部分 前板减反射膜玻璃》
- 2026年春贵州人民版(2024)小学综合实践活动四年级下册(全册)教案(附目录)
评论
0/150
提交评论