第9章Web开发技术简介

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第9章Web开发技术简介第四部分Java语言高级篇(之二)2学习目的熟悉各种Web开发技术的下载、安装和配置等基本操作,了解Servlet和JSP等技术的功能、特点以及与相关技术的区别,了解Struts、Hibernate和Spring等技术的产生的背景、特点和工作原理,掌握在Eclipse中Servlet和JSP应用程序的一般开发过程,掌握在Eclipse中利用Struts、Hibernate和Spring等框架建立、配置和运行Web应用程序的过程3主要内容☻Tomcat和JBoss☻Servlet☻JSP☻Struts☻Hibernate☻Spring49.4Struts☻主要介绍Struts框架的起源、优缺点和工作原理以及Struts的下载、安装过程,介绍了MVC模式以及该模式与Struts的关系。重点通过案例讲解在Eclipse中如何运用Struts框架建立、配置和运行Web应用程序。☻知识学习要求掌握为:了解Struts框架的起源、优缺点和工作原理,了解MVC模式以及该模式与Struts的关系,掌握Struts的下载、安装过程,熟练掌握在Eclipse中如何运用Struts框架建立、配置和运行Web应用程序。5路线图☻Struts简介☻Struts的工作原理☻Struts的下载与安装☻Struts案例69.4.1Struts简介1☻Struts的起源Struts是作为ApacheJakarta项目的组成部分,该项目目标是为建立Javaweb应用程序而提供的一个开源框架,目前大家一般使用的版本为1.2。通过使用struts框架可以改进和提高JSP、Servlet、标记库及面向对象的技术在web应用程序中的应用。Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架。同样,软件工程师使用Struts为业务应用的每一层提供支持,可以帮助我们减少在运用MVC(Model-View-Controller)设计模型来开发Web应用的时间,提高开发效率。79.4.1Struts简介2☻Struts优点与缺点Struts作为最受开发者欢迎的Web框架之一,有其突出的优点:Struts提供Taglib标记库,能大大提高开发效率,可以大大节约开发时间。表现与逻辑分离,Struts将MVC的Controller一分为三,使结构更加清晰。提供页面导航,使系统的脉络更加清晰,维护扩展比较方便。便于团队开发89.4.2Struts的工作原理1☻MVC模式(Model-View-ControllerPatterns)谈到Struts,我们就不得不提到MVC设计模式。MVC即Model-View-Controller的缩写,它是web应用当中的常用的设计模式。早期Smalltalk程序语言便采用了MVC模式以增加程序代码弹性。MVC设计模式很清楚的划定了程序员与设计者的角色界限。这种模式是让设计者集中于设计应用程序的显示部分,而开发者则集中于开发驱动应用程序功能所需的组件。99.4.2Struts的工作原理2☻MVC模式(Model-View-ControllerPatterns)109.4.2Struts的工作原理3☻数据模型(Model)描述并处理应用程序数据;☻视图(View)指的是用户界面,它反映的是模型数据并把它递交给用户;☻程序控制逻辑(Controller)是将视图上的行为(例如,按下Submit按钮)映射到模型上的操作(例如,检索用户详细信息)。模型更新后,视图也被更新,用户就能够完成更多行为。☻MVC模式使代码易懂而且使代码更容易重用;另外,在很多工程中视图经常要被更新,MVC模式将模型和控制器与这些所做的更改独立开来。119.4.2Struts的工作原理4☻Struts的运行过程图129.4.2Struts的工作原理5☻Struts的运行过程控制:在Struts中,ActionServlet起着一个控制器(Controller)的作用。ActionServlet是一个通用的控制组件。这个控制组件提供了处理所有发送到Struts的HTTP请求的入口点。它截取和分发这些请求到相应的动作类(这些动作类都是Action类的子类)。视图:主要是由Jsp来控制页面输出的。它接收到ActionForm中的数据,利用html,taglib,bean,logic等显示数据。模型:在Struts中,主要存在三种bean,分别是:Action,ActionForm,EJB或者JavaBean。ActionForm用来封装客户请求信息,Action取得ActionForm中的数据,再由EJB或者JavaBean进行处理。139.4.3Struts的下载与安装☻案例使用的是比较经典的、目前应用较多的Struts1.2.9版本☻Struts1.2.9安装包下载地址是。☻Windows下的安装包是“struts-1.2.9-bin.zip”☻Struts的安装很简单,将struts-1.2.9-bin.zip解压缩到E:\eclipse\struts-1.2.9-bin即可149.4.4Struts案例1☻案例引入:为了使读者对Struts框架的使用有初步的了解,本节引入一个功能非常简化的Web应用程序,只需要在页面显示“Hello!IlikeStruts,itisgreat!!”即可,关键让读者掌握在Eclipse中利用Struts框架建立Web应用程序的一般开发过程。☻知识学习要求掌握为:掌握在Eclipse中利用Struts框架建立Web应用程序的一般开发过程;掌握Eclipse中构建路径的配置。掌握MessageResources.properties、struts-config.xml文件的配置方法;掌握程序的运行方法。159.4.4Struts案例2【综合案例9-3】在Eclipse利用Struts建立简单的Web应用程序建立项目添加Struts框架配置Java构建路径建立StrutsprojectAction类建立StrutsProjectJSP.jsp文件配置MessageResources.properties和struts-config.xml文件运行程序169.5Hibernate☻主要介绍Hibernate框架的特点、Hibernate应用程序的结构和体系结构,介绍了四层体系结构模型与Hibernate产生的关系,介绍了Hibernate的下载和安装过程。重点通过案例讲解了在Eclipse中如何运用Hibernate框架建立、配置和运行Web应用程序。☻知识学习要求掌握为:了解Hibernate框架的特点、Hibernate应用程序的结构、体系结构和四层体系结构模型,掌握Hibernate的下载、安装过程,熟练掌握在Eclipse中如何运用Hibernate框架建立、配置和运行Web应用程序。17路线图☻Hibernate简介☻Hibernate工作原理☻Hibernate的安装☻Hibernate案例189.5.1Hibernate简介1☻Hibernate产生的背景在软件开发过程中,持久(Persistence)的数据是对保存在掉电后也不会丢失数据的存储设备中的数据的一种形象的表述,相对应的持久化操作通常表示将内存中的数据保存到磁盘的操作,在完成了数据的保存后,就表示相应的数据被持久化了。数据保存在磁盘的手段有很多种,如格式化的文本文件、XML文件,也可以是数据库系统,为了方便的进行数据的保存、处理、管理和查询,绝大多数的应用系统都采用数据库进行数据的持久化操作。199.5.1Hibernate简介2☻三层体系结构模型即经典的MVC模式开发架构。如图所示,其中的表示层提供用户界面的显示和用户与应用系统的交互操作,业务逻辑层提供业务逻辑的处理和数据的持久化操作,数据层主要用于保存需要持久化的数据。这一模型中,实现了业务逻辑和显示的分离,降低了程序开发的复杂度,特别适合开发基于B/S模式的应用系统。209.5.1Hibernate简介3☻四层体系结构模型为了降低软件的开发难度以提高软件的开发效率,可以在三层模型中把业务逻辑层中进行数据持久化的操作分离出来,形成独立的持久层,这样就形成了如图9-56所示的四层体系结构模型,在这一模型中,业务逻辑层尽心核心业务逻辑的处理,持久层专注于对象的持久化操作,表示层和数据层功能不变。219.5.1Hibernate简介4☻数据持久层的设计目标为整个应用系统提供一个高层、统一、安全和并发的数据持久机制,完成对数据进行持久化的编程工作,并为系统业务逻辑层提供服务。目前比较常用的几种数据持久层实现方案有以下几种:通过JDBC和DAO(DataAccessObject,数据访问对象)实现数据持久化;通过EJB实现数据持久化;通过JDO(JavaDataObjects,Java数据对象)实现数据持久化;通过DAO和ORM(Object-RelationalMapping,对象关系映射)组件来实现数据持久化。在实践中比较以上的几种方案,使用ORM组件能够很好的平衡服务器资源的消耗,取得较好的性能获得较高的开发效率,并可以应用于绝大多数软件系统。229.5.1Hibernate简介5☻ORMORM本身并不是一个组件,它是具有实现实体域对象持久化并封装数据访问细节的组件的总称。当前的应用系统多采用多层次体系结构。通过持久层来实现Java对象与数据库中关系型数据之间的转换,以完成对Java对象的持久化操作以及对数据库中数据的读取和转化为Java对象,ORM能实现这一功能的框架。实现ORM功能的组件有很多,如Apache软件基金组织的OJB(Object-RelationalBridge,对象关系桥)组件和JBoss组织的Hibernate。239.5.1Hibernate简介6☻HibernateHibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了轻量级的对象封装,使Java程序员可以方便的运用面向对象的编程思想来操纵数据库。Hibernate的第一个正式版本是在2001年末发布的,2002年6月,Hibernate2发布,随后,2005年3月,Hibernate3正式发布,这一版本在性能、灵活性和扩展性方面得到了进一步的提升,在很大程度上超越了其他持久层技术。249.5.1Hibernate简介7☻Hibernate的特点Hibernate不仅提供了从Java类到数据表之间的映射,也提供了数据查询和恢复机制。相对于使用JDBC和SQL来手工操作数据库,Hibernate可以大大减少操作数据库的工作量。Hibernate可以利用代理模式来简化载入类的过程,这将大大减少利用HQL(HibernateQueryLanguage,Hibernate查询语言)从数据库提取数据的代码的编写量,从而节约开发时间和开发成本。Hibernate可以和多种Web服务器或者应用服务器良好集成,支持几乎所有的流行的数据库服务器。☻这些特点使得Hibernate已经成为了最具影响力的ORM工具,被广泛地应用于实现各中应用系统的持久层。259.5.2Hibernate工作原理1☻Hibernate应用程序结构下图显示了Hibernate应用程序的结构,可以看出,Hibernate是通过一系列的配置文件和数据库来实现对象持久化操作的,同时可以了解Hibernate在应用程序中的位置。269.5.2Hibernate工作原理2☻Hibernate的体系结构Hibernate的体系结构如图所示,它最大程度的完成了对持久层功能的封装,也就使得在开发中所要完成的工作量最少,这是在开发中最经常使用的一种方式。279.5.2Hibernate工作原理3☻Hibernate体系结构中各部分的主要功能SessionFactory是生成Session的工厂

1 / 48
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功