实验一框架选择及其原因

实验一 框架选择及其原因

软件体系结构实验一我选择S2SH来开发应用系统。我来讲解一下 S2Sh的优点。

Struts

Struts2 是一个优秀的开源项目 ,能使开发者了解到内部的机制, Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易。Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑。Struts框架本身是使用Java Servlet和JavaServer Pages技术的一种Model-View-Controller(MVC)实现.

Struts2 优点有以下方面

1. 实现MVC模式,结构清晰,使开发者只关注业务逻辑的实现.

2. 有丰富的tag可以用 ,Struts的标记库(Taglib),如能灵活动用,则能大大提高开发效率。另外,就目前国内的JSP开发者而言,除了使用JSP自带的常用标记外,很少开发自己的标记,或许Struts是一个很好的起点。

3. 页面导航.页面导航将是今后的一个发展方向,事实上,这样做,使系统的脉络更加清晰。通过一个配置文件,即可把握整个系统各部分之间的联系,这对于后期的维护有着莫大的好处。尤其是当另一批开发者接手这个项目时,这种优势体现得更加明显。

4. 提供Exception处理机制 .

5. 数据库链接池管理

6. 支持I18N

Hibernate

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。

Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序实用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

大多数开发机构经常采取创建各自独立的数据持久层。一旦底层的数据结构发生改变,那么修改应用的其余部分使之适应这种改变的代价将是十分巨大的。Hibernate适时的填补了这一空白,它为Java应用提供了一个易用的、高效率的对象关系映射框架。hibernate是个轻量级的持久性框架,功能却非常丰富。

优点:

1.Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。

2.Hibernate 的性能非常好,因为它是个轻量级框架。 映射的灵活性很出色。

3.它支持各种关系数据库,从一对一到多对多的各种复杂关系。

Spring

它基于IoC(Inversion of Control,反向控制)和AOP的构架多层j2ee系统的框架,但它不强迫你必须在每一层 中必须使用Spring,因为它模块化的很好,允许你根据自己的需要选择使用它的某一个模块;它实现了很优雅的MVC,对不同的数据访问技术提供了统一的 接口,采用IoC使得可以很容易的实现bean的装配,提供了简洁的AOP并据此实现Transcation Managment

优点:

  1. Spring能有效地组织你的中间层对象,不管你是否选择使用了EJB。如果你仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。

2. Spring能消除在许多工程中常见的对Singleton的过多使用。根据我的经验,这是一个很大的问题,它降低了系统的可测试性和面向对象的程度。

3. 通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。曾经对某个类要寻找的是哪个魔法般的属性项或系统属性感到不解,为此不得不去读Javadoc甚至源编码?有了Spring,你仅仅需要看看类的JavaBean属性。Inversion of Control的使用(在下面讨论)帮助完成了这种简化。

4. 通过把对接口编程而不是对类编程的代价几乎减少到没有,Spring能够促进养成好的编程习惯。

5. Spring被设计为让使用它创建的应用尽可能少的依赖于他的APIs。在Spring应用中的大多数业务对象没有依赖于Spring。

6. 使用Spring构建的应用程序易于单元测试。

7. Spring能使EJB的使用成为一个实现选择,而不是应用架构的必然选择。你能选择用POJOs或local EJBs来实现业务接口,却不会影响调用代码。

8. Spring帮助你解决许多问题而无需使用EJB。Spring能提供一种EJB的替换物,它们适用于许多web应用。例如,Spring能使用AOP提供声明性事务管理而不通过EJB容器,如果你仅仅需要与   单个数据库打交道,甚至不需要一个JTA实现。

9. Spring为数据存取提供了一个一致的框架,不论是使用的是JDBC还是O/R mapping产品(如Hibernate)。

Spring确实使你能通过最简单可行的解决办法来解决你的问题。而这是有有很大价值的。 缺点:使用人数不多、jsp中要写很多代码、控制器过于灵活,缺少一个公用控制器

时间: 2024-10-17 15:05:43

实验一框架选择及其原因的相关文章

实验一框架选择以及原因说明

我要做的事一个基于web的学生选课系统,我选择的框架式SSH框架. SSH框架介绍:SSH是Spring+Struts+Hibernate的集成框架.Spring的架构基础是基于使用javabean属性的Inversion of Control容器.Spring在使用IoC容器作为构建完关注所有架构层的完整解决方案方面是独一无二的. Spring提供了唯一的数据访问抽象,包括简单和有效率的JDBC框架,极大的改进了效率并且减少了可能的错误.Spring的数据访问架构还集成了Hibernate和其

框架选择的原因及其说明

选择thinkphp框架 框架选择的原因及其说明 在php开发框架中,选择一项较为适合新手入门的框架--thinkphp 开发框架中thinkphp相对应用比较广泛.下载了个thinkphp3.1.2的安装包,我用的wamp环境,那么找到www文件夹,我在文件夹下面新建一个文件夹起名叫app,把下载的源码为Thinkphp文件夹放到我们新建的app文件夹下面,然后我们新建一个名为index.php文件,这个index.php文件就是我们这个整个thinkphp开发框架|开源框架的入口文件. 通过

实验一框架选择及其分析

框架选择及其分析 对于实验一程序开发的框架,我选择的是ssh framework框架. SSH框架: 具体来说应该是:struts2.0+spring3.2+hirbnate2.5 典型的J2EE三层结构,分为表现层.中间层(业务逻辑层)和数据服务层.三层体系将业务规则.数据访问及合法性校验等工作放在中间层处理.客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互. 表现层是传统的JSP技术,自1999年问世以来,经过多年的发展,其广泛的应用和稳定的表现,为其作为表现层

实验一的框架选择的原因及其说明

我选择的是基于B/S在线考试系统的开发.由于J2EE架构可以简化应用的开发和管理,因此我选择了其中的SSH框架作为我的系统的开发框架. SSH框架说明:SSH是struts+spring+hibernate的一个集成框架,它将系统分为了表现层.业务逻辑层和数据服务层,业务规则.数据访问及合法性校验等工作放在中间层处理,客户端不直接与数据库交互,而是通过组件与中间层建立连接,再由中间层与数据库交互.struts主要负责表示层的显示,它把Servlet.JSP.自定义标签和信息资源(message

实验1.2:框架选择及其原因

选取的框架:SSH框架 原因: (1)SSH框架是我们这学期正在学的一种框架,运用该框架来完成实验也是对这学期学习的一种有效复习 (2)接触了hibernate之后我感受到了它的强大功能.以前我在连接数据库的时候都要去找以前写过的连接数据库的代码,麻烦而且费时间.更重要的是我的代码看起来繁杂而且过一段时间之后再去看我的代码总有一种无从下手的感觉.我在用hibernate做CRUD时发现其实并非所有的增删查改操作都需要在webroot下的jsp文件中实现.Hibernate使我的代码看起来更加简洁

框架选择以及原因

我选择的是ssh框架 SSH 为 struts+spring+hibernate的一个集成框架,是目前较流行的一种Web应用程序开源框架. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰.可复用性好.维护方便的web应用程序.其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate

框架选择原因以及说明

做一个基于框架的系统开发,目前想做的是一个二手书交易网站,对于一个有应用价值的系统不采用框架总是感觉不够正式,有了框架显得更加的高端大气上档次,框架选择servlet和hibernate,原因一是因为最近学习了架构知识,通过这次实 践来巩固加强对架构的认识,掌握更多更全面的知识,而是对框架的优势有了初步的认识,框架能简化我们程序员的繁重的工作量,利用框架可以生成许多代码而不 用我们自己去敲,缩短开发周期,避免许多错误,对于涉众项目来说显得十分必要. servlet,它主要负责后台业务处理,在这次

Scala框架选择

我所知道的Scala持久层框架有: 1.Slick 2.Squeryl 3.Anorm(Play的持久层) 4.ScalaActiveRecord (基于Squeryl之上) 5.circumflex-orm web框架的话 1.Spray(build on akka,完全异步,非阻塞,非常有前景,适合REST后端程序) 2.Play(还不是很习惯) 3.Scalatra(对akka,squeryl等都有现成集成,适合需要view层的) 4.Lift 我的选择: 1.对于api层 采用Spray

框架选择

选择的框架: SSH(Struts2+Hibernate+Spring)框架 选择原因: (1)这是一种典型的三层框架体现MVC思想,使解决一些程序的问题更加方便,降低开发所用的时间.拥有良好的可扩展性,可以解决一些因技术问题不能实现的功能,对于系统的维护工作更容易展开. (2)对于Struts2来说,它相比Struts1有了进一步的改进,以WebWork为核心,采用WebWork设计理念.WebWork支持更多的表现层技术,有广泛的适应性.它强大的标签库提高开发效率,页面脉络清晰,通过查看配置