关于《实验一》的框架选择

  我选择用Spring + Struts + Hibernate框架来开发《软件体系结构》课程的实验一。

  MVC即Model-View-Controller的缩写,是一种常用的设计模式。MVC设计模式减弱了业务逻辑接口和数据接口之间的耦合,以及让视图层更富于变化。而Struts是MVC的一种实现,它将Servlet和JSP标记用作实现的一部分。Struts继承了MVC的各项特性,并根据J2EE的特点,做了相应的变化与扩展。

  视图:主要由JSP生成页面完成视图,Struts提供丰富的JSP 标签库:Html,Bean,Logic,Template等,这有利于分开表现逻辑和程序逻辑。

  控制:在Struts中,承担MVC中Controller角色的是一个Servlet,叫ActionServlet。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。另外控制组件也负责用相应的请求参数填充 Action From,并传给动作类(通常称之为ActionBean)。动作类实现核心商业逻辑,它可以访问java bean 或调用EJB。最后动作类把控制权传给后续的JSP 文件,后者生成视图。所有这些控制逻辑利用Struts-config.xml文件来配置。

  模型:模型以一个或多个java bean的形式存在。这些bean分为三类:Action Form、Action、JavaBean or EJB。Action Form通常称之为FormBean,封装了来自于Client的用户请求信息,如表单信息。Action通常称之为ActionBean,获取从ActionSevlet传来的FormBean,取出FormBean中的相关信息,并做出相关的处理,一般是调用Java Bean或EJB等。

  流程:在Struts中,用户的请求一般以*.action作为请求服务名,所有的*.action请求均被指向ActionSevlet,ActionSevlet根据Struts-config.xml中的配置信息,将用户请求封装成一个指定名称的FormBean,并将此FormBean传至指定名称的ActionBean,由ActionBean完成相应的业务操作,如文件操作,数据库操作等。每一个*.action均有对应的FormBean名称和ActionBean名称,这些在Struts-config.xml中配置。

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

  Spring能有效地组织中间层对象,不管是否选择使用了EJB。如果仅仅使用了Struts或其他为J2EE的 API特制的framework,Spring致力于解决剩下的问题。通过一种在不同应用程序和项目间一致的方法来处理配置文件,Spring能消除各种各样自定义格式的属性文件的需要。

  Hibernate使用了J2EE架构中的如下技术:JDBC、JTA、JNDI。其中JDBC是一个支持关系数据库操作的一个基础层;它JNDI和JTA一起结合,使得Hibernate可以方便地集成到J2EE应用服务器中去。Hibernate是JDBC的轻量级的对象封装,它是一个独立的对象持久层框架。Hibernate可以用在任何JDBC可以使用的场合。Hibernate是一个和JDBC密切关联的框架,所以Hibernate的兼容性和JDBC驱动,和数据库都有一定的关系,但是和使用它的Java程序,和App Server没有任何关系,也不存在兼容性问题。

  Hibernate不能用来直接和Entity Bean做对比,只有放在整个J2EE项目的框架中才能比较。并且即使是放在软件整体框架中来看,Hibernate也是做为JDBC的替代者出现的,而不是Entity Bean的替代者出现的。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合。Hibernate 使用 Java 反射机制 而不是字节码增强程序来实现透明性。Hibernate 的性能非常好,因为它是个轻量级框架,映射的灵活性很出色。

  本学期《JAVA EE架构程序设计》一课中正在学习Spring + Struts + Hibernate框架联合开发,借此机会可以更好的运用三大框架,更好的理解和掌握三大框架,所以我选择它!

时间: 2024-08-24 19:01:12

关于《实验一》的框架选择的相关文章

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

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

实验一框架选择及其分析

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

实验一框架选择及其原因

实验一 框架选择及其原因 软件体系结构实验一我选择S2SH来开发应用系统.我来讲解一下 S2Sh的优点. Struts Struts2 是一个优秀的开源项目 ,能使开发者了解到内部的机制, Struts开放源码框架的创建是为了使开发者在构建基于Java Servlet和JavaServer Pages(JSP)技术的Web应用时更加容易.Struts框架为开放者提供了一个统一的标准框架,通过使用Struts作为基础,开发者能够更专注于应用程序的商业逻辑.Struts框架本身是使用Java Ser

网站后端_Python-网站开发.Python网站开发之版本选择与框架选择?

简单说明: 1. 由于Python具有快速开发,多人协作,库丰富,社区成熟等优点,国内豆瓣/知乎/搜狐/果壳/饿了吗,国外YouTube/Reddit/Instagram/Pinterest/Bitbucket/Disqus/Dropbox等都相继将其作为主力开发语言,所以完全不用担心它的可靠性与性能问题,因为它已受了时间和大规模用户并发访问的考验 2. 很多人以为只要学会某个Web框架,能写代码查查数据库,能写模版渲染出HTML,最多再学习一下配个WebServer把服务跑起来就完事儿,然而并

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

框架选择的原因及其说明

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

框架选择

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

框架选择原因以及说明

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

h5棋牌平台制作的js框架选择

h5棋牌平台制作的js框架选择(aqiulian.com/h5)本文主要选取了Construct2.ImactJS.LimeJS.GameMaker.CreateJS.lycheeJS.Crafty.three.js.melonJS.Turbulenz.Quintus.Cocos2d-html5等进行了简要介绍和对比,想知道或者了解更多详细的框架企鹅我212303635. 主流框架对比 Construct2 Construct 2是一个运行于Windows平台的游戏制作工具,它可以让没有任何编程