Web开发技术简介PPT课件_第1页
Web开发技术简介PPT课件_第2页
Web开发技术简介PPT课件_第3页
Web开发技术简介PPT课件_第4页
Web开发技术简介PPT课件_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第9章Web开发技术简介 第四部分Java语言高级篇 之二 学习目的 熟悉各种Web开发技术的下载 安装和配置等基本操作 了解Servlet和JSP等技术的功能 特点以及与相关技术的区别 了解Struts Hibernate和Spring等技术的产生的背景 特点和工作原理 掌握在Eclipse中Servlet和JSP应用程序的一般开发过程 掌握在Eclipse中利用Struts Hibernate和Spring等框架建立 配置和运行Web应用程序的过程 主要内容 Tomcat和JBossServletJSPStrutsHibernateSpring 9 4Struts 主要介绍Struts框架的起源 优缺点和工作原理以及Struts的下载 安装过程 介绍了MVC模式以及该模式与Struts的关系 重点通过案例讲解在Eclipse中如何运用Struts框架建立 配置和运行Web应用程序 知识学习要求掌握为 了解Struts框架的起源 优缺点和工作原理 了解MVC模式以及该模式与Struts的关系 掌握Struts的下载 安装过程 熟练掌握在Eclipse中如何运用Struts框架建立 配置和运行Web应用程序 路线图 Struts简介Struts的工作原理Struts的下载与安装Struts案例 9 4 1Struts简介1 Struts的起源Struts是作为ApacheJakarta项目的组成部分 该项目目标是为建立Javaweb应用程序而提供的一个开源框架 目前大家一般使用的版本为1 2 通过使用struts框架可以改进和提高JSP Servlet 标记库及面向对象的技术在web应用程序中的应用 Struts这个名字来源于在建筑和旧式飞机中使用的支持金属架 同样 软件工程师使用Struts为业务应用的每一层提供支持 可以帮助我们减少在运用MVC Model View Controller 设计模型来开发Web应用的时间 提高开发效率 9 4 1Struts简介2 Struts优点与缺点Struts作为最受开发者欢迎的Web框架之一 有其突出的优点 Struts提供Taglib标记库 能大大提高开发效率 可以大大节约开发时间 表现与逻辑分离 Struts将MVC的Controller一分为三 使结构更加清晰 提供页面导航 使系统的脉络更加清晰 维护扩展比较方便 便于团队开发 9 4 2Struts的工作原理1 MVC模式 Model View ControllerPatterns 谈到Struts 我们就不得不提到MVC设计模式 MVC即Model View Controller的缩写 它是web应用当中的常用的设计模式 早期Smalltalk程序语言便采用了MVC模式以增加程序代码弹性 MVC设计模式很清楚的划定了程序员与设计者的角色界限 这种模式是让设计者集中于设计应用程序的显示部分 而开发者则集中于开发驱动应用程序功能所需的组件 9 4 2Struts的工作原理2 MVC模式 Model View ControllerPatterns 9 4 2Struts的工作原理3 数据模型 Model 描述并处理应用程序数据 视图 View 指的是用户界面 它反映的是模型数据并把它递交给用户 程序控制逻辑 Controller 是将视图上的行为 例如 按下Submit按钮 映射到模型上的操作 例如 检索用户详细信息 模型更新后 视图也被更新 用户就能够完成更多行为 MVC模式使代码易懂而且使代码更容易重用 另外 在很多工程中视图经常要被更新 MVC模式将模型和控制器与这些所做的更改独立开来 9 4 2Struts的工作原理4 Struts的运行过程图 9 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进行处理 9 4 3Struts的下载与安装 案例使用的是比较经典的 目前应用较多的Struts1 2 9版本Struts1 2 9安装包下载地址是http archive apache org dist struts binaries Windows下的安装包是 struts 1 2 9 bin zip Struts的安装很简单 将struts 1 2 9 bin zip解压缩到E eclipse struts 1 2 9 bin即可 9 4 4Struts案例1 案例引入 为了使读者对Struts框架的使用有初步的了解 本节引入一个功能非常简化的Web应用程序 只需要在页面显示 Hello IlikeStruts itisgreat 即可 关键让读者掌握在Eclipse中利用Struts框架建立Web应用程序的一般开发过程 知识学习要求掌握为 掌握在Eclipse中利用Struts框架建立Web应用程序的一般开发过程 掌握Eclipse中构建路径的配置 掌握MessageResources properties struts config xml文件的配置方法 掌握程序的运行方法 9 4 4Struts案例2 综合案例9 3 在Eclipse利用Struts建立简单的Web应用程序建立项目添加Struts框架配置Java构建路径建立StrutsprojectAction类建立StrutsProjectJSP jsp文件配置MessageResources properties和struts config xml文件运行程序 9 5Hibernate 主要介绍Hibernate框架的特点 Hibernate应用程序的结构和体系结构 介绍了四层体系结构模型与Hibernate产生的关系 介绍了Hibernate的下载和安装过程 重点通过案例讲解了在Eclipse中如何运用Hibernate框架建立 配置和运行Web应用程序 知识学习要求掌握为 了解Hibernate框架的特点 Hibernate应用程序的结构 体系结构和四层体系结构模型 掌握Hibernate的下载 安装过程 熟练掌握在Eclipse中如何运用Hibernate框架建立 配置和运行Web应用程序 路线图 Hibernate简介Hibernate工作原理Hibernate的安装Hibernate案例 9 5 1Hibernate简介1 Hibernate产生的背景在软件开发过程中 持久 Persistence 的数据是对保存在掉电后也不会丢失数据的存储设备中的数据的一种形象的表述 相对应的持久化操作通常表示将内存中的数据保存到磁盘的操作 在完成了数据的保存后 就表示相应的数据被持久化了 数据保存在磁盘的手段有很多种 如格式化的文本文件 XML文件 也可以是数据库系统 为了方便的进行数据的保存 处理 管理和查询 绝大多数的应用系统都采用数据库进行数据的持久化操作 9 5 1Hibernate简介2 三层体系结构模型即经典的MVC模式开发架构 如图所示 其中的表示层提供用户界面的显示和用户与应用系统的交互操作 业务逻辑层提供业务逻辑的处理和数据的持久化操作 数据层主要用于保存需要持久化的数据 这一模型中 实现了业务逻辑和显示的分离 降低了程序开发的复杂度 特别适合开发基于B S模式的应用系统 9 5 1Hibernate简介3 四层体系结构模型为了降低软件的开发难度以提高软件的开发效率 可以在三层模型中把业务逻辑层中进行数据持久化的操作分离出来 形成独立的持久层 这样就形成了如图9 56所示的四层体系结构模型 在这一模型中 业务逻辑层尽心核心业务逻辑的处理 持久层专注于对象的持久化操作 表示层和数据层功能不变 9 5 1Hibernate简介4 数据持久层的设计目标为整个应用系统提供一个高层 统一 安全和并发的数据持久机制 完成对数据进行持久化的编程工作 并为系统业务逻辑层提供服务 目前比较常用的几种数据持久层实现方案有以下几种 通过JDBC和DAO DataAccessObject 数据访问对象 实现数据持久化 通过EJB实现数据持久化 通过JDO JavaDataObjects Java数据对象 实现数据持久化 通过DAO和ORM Object RelationalMapping 对象关系映射 组件来实现数据持久化 在实践中比较以上的几种方案 使用ORM组件能够很好的平衡服务器资源的消耗 取得较好的性能获得较高的开发效率 并可以应用于绝大多数软件系统 9 5 1Hibernate简介5 ORMORM本身并不是一个组件 它是具有实现实体域对象持久化并封装数据访问细节的组件的总称 当前的应用系统多采用多层次体系结构 通过持久层来实现Java对象与数据库中关系型数据之间的转换 以完成对Java对象的持久化操作以及对数据库中数据的读取和转化为Java对象 ORM能实现这一功能的框架 实现ORM功能的组件有很多 如Apache软件基金组织的OJB Object RelationalBridge 对象关系桥 组件和JBoss组织的Hibernate 9 5 1Hibernate简介6 HibernateHibernate是一个开放源代码的对象关系映射框架 它对JDBC进行了轻量级的对象封装 使Java程序员可以方便的运用面向对象的编程思想来操纵数据库 Hibernate的第一个正式版本是在2001年末发布的 2002年6月 Hibernate2发布 随后 2005年3月 Hibernate3正式发布 这一版本在性能 灵活性和扩展性方面得到了进一步的提升 在很大程度上超越了其他持久层技术 9 5 1Hibernate简介7 Hibernate的特点Hibernate不仅提供了从Java类到数据表之间的映射 也提供了数据查询和恢复机制 相对于使用JDBC和SQL来手工操作数据库 Hibernate可以大大减少操作数据库的工作量 Hibernate可以利用代理模式来简化载入类的过程 这将大大减少利用HQL HibernateQueryLanguage Hibernate查询语言 从数据库提取数据的代码的编写量 从而节约开发时间和开发成本 Hibernate可以和多种Web服务器或者应用服务器良好集成 支持几乎所有的流行的数据库服务器 这些特点使得Hibernate已经成为了最具影响力的ORM工具 被广泛地应用于实现各中应用系统的持久层 9 5 2Hibernate工作原理1 Hibernate应用程序结构下图显示了Hibernate应用程序的结构 可以看出 Hibernate是通过一系列的配置文件和数据库来实现对象持久化操作的 同时可以了解Hibernate在应用程序中的位置 9 5 2Hibernate工作原理2 Hibernate的体系结构Hibernate的体系结构如图所示 它最大程度的完成了对持久层功能的封装 也就使得在开发中所要完成的工作量最少 这是在开发中最经常使用的一种方式 9 5 2Hibernate工作原理3 Hibernate体系结构中各部分的主要功能SessionFactory是生成Session的工厂 是针对单个数据库映射关系经过编译后的内存镜像 该对象可以在进程或集群的级别上 为那些事务之间可以重用的数据提供可选的二级缓存 它也是线程安全的 Session是表示应用程序与持久储存层之间交互操作的一个单线程对象 它隐藏了JDBC连接 也是Transaction的工厂 它会持有一个针对持久化对象的一级缓存 该对象生存期很短 在遍历对象图或者根据持久化标识查找对象时会用到 Transaction是应用程序用来指定原子操作单元范围的对象 它通过抽象将应用从底层具体的JDBC JTA以及CORBA事务隔离开 在一些情况下 一个Session之内可能包含多个Transaction对象 该对象是单线程的 生存期很短 9 5 2Hibernate工作原理3 Hibernate体系结构中各部分的主要功能ConnectionProvider是生成JDBC连接的工厂 同时也起到连接池的作用 它通过抽象将应用从底层的Datasource或DriverManager隔离开 仅供开发者扩展和实现用 并不暴露给应用程序使用 TransactionFactory是生成Transaction对象实例的工厂 也是仅供开发者扩展和实现用 并不暴露给应用程序使用 TransientObject 瞬态对象 是一个持久化类的实例处于三种不同状态中的一种 该实例从未与任何持久化上下文 PersistenceContext 即Session对象 关联过 它没有持久化标识 相当于主键 PersistentObject 持久对象 也是一个持久化类的实例处于三种不同状态中的一种 实例与某个持久化上下文有关联 它拥有持久化标识 相当于主键 并且可能在数据库中有一个对应的行 9 5 3Hibernate的安装1 下载Hibernate登录Hibernate官方网站 http www hibernate org 案例使用的是Hibernate的3 2 4 SP1版本Windows平台使用 hibernate 3 2 4 sp1 zip 安装包 9 5 3Hibernate的安装2 安装Hibernate在Eclipse中开发Hibernate项目时 对Hibernate的安装很简单 先用解压软件将hibernate 3 2 4 sp1 zip文件进行解压 解压后的目录结构如图9 62所示 再将目录中的hibernate3 jar文件和 lib 目录下的所有 jar文件复制到项目的 WEB INF lib目录下 最后在Hibernate项目中将这些文件添加到Eclipse的Java构建路径中即可 具体操作后面详细讲解 9 5 4Hibernate案例1 案例引入为了使读者对Hibernate框架的使用有较全面了解 引入简单的存储和显示员工信息的Web应用程序 包括两个JSP程序 HibernateProjectJSP jsp向Emp表中插入10条数据 DisplayEmp jsp显示所插入的所有记录 知识学习要求掌握为 掌握在Eclipse中利用Hibernate框架建立Web应用程序的一般开发过程 掌握Eclipse中构建路径的配置 掌握建立和配置Emp hbm xm hibernate cfg xml文件的方法 掌握程序的运行方法 9 5 4Hibernate案例2 综合案例9 4 在Eclipse利用Hibernate框架建立简单的员工信息存储和显示程序建立数据库建立项目添加Hibernate框架配置Java构建路径建立可持久化类建立数据映射文件Emp hbm xml建立Hibernate的配置文件hibernate cfg xml建立JSP文件运行项目 9 6Spring 主要介绍Spring框架产生的背景 特点 体系结构和主要功能 介绍了控制反转 IoC 与面向切面的编程 AOP 的概念 介绍了Spring的下载和安装过程 重点通过案例讲解了在Eclipse中如何运用Spring框架建立 配置和运行Web应用程序 知识学习要求掌握为 了解Spring框架产生的背景 特点 体系结构和主要功能 了解控制反转 IoC 与面向切面的编程 AOP 的概念 掌握Spring的下载 安装过程 熟练掌握在Eclipse中如何运用Spring框架建立 配置和运行Web应用程序 路线图 Spring简介Spring工作原理Spring的安装Spring案例 9 6 1Spring简介1 Spring产生的背景Spring的基础架构起源于2000年早期 Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情 在2002后期 RodJohnson发布了 ExpertOne on OneJ2EEDesignandDevelopment 一书 后来 RodJohnson在interface21开发包的基础之上 进行了进一步的改造和扩充 使其发展为一个更加开放 清晰 全面 高效的开发框架 Spring 然而 Spring的用途不仅限于服务器端的开发 2003年2月Spring框架正式成为一个开源项目 发布于SourceForge中 9 6 1Spring简介2 Spring的特点容器功能黏合剂 组装功能企业应用开发实用工具集通用实践抽象 9 6 2Spring工作原理1 Spring框架的体系结构pring框架的总体结构图 9 6 2Spring工作原理2 Spring框架的体系结构最底层是Spring框架的核心IOC InversionofControl 控制反转 容器 也是Spring最基础的部分 接着Spring核心容器上是Spring的AOP Aspect orientedprogramming 层 Spring有自己单独的AOP实现 同时还集成了AspectJ的AOP功能 因为数据访问层都考虑了声明式事务处理等 因此在AOP层上面是Spring的数据访问层 数据访问层包括两大部分 DAO部分主要是Spring对JDBC的封装以及事务管理 ORM部分是Spring与其它各种轻持久层对象 关系映射框架的整合及集成 如Hibernate JPA等 还有两大部分 JEE和WEB部分 9 6 2Spring工作原理3 Spring的主要功能控制反转IoC是Spring的核心概念 IoC的本质是实现了对象之间依赖关系的转移 通过使用Spring框架 开发人员将不必自己在代码中维护对象之间的依赖关系 只需在配置文件中进行设定就可以了 Spring会自动地依据配置信息来维护对象之间的依赖关系 将被依赖的对象设置给依赖对象 依赖 控制权由应用代码中转到了外部容器 控制权的转移 即所谓的 反转 换句话说 就是由容器控制程序之间的 依赖 关系 而非传统实现中由程序代码直接操控 这也就是所谓 控制反转 的概念所在 IoC属于设计模式上的一个概念 通常情况下IoC的实现方式有两种 分别是DependencyInjection 依赖注入 和ServiceLocator 服务定位器 Spring框架所采用IoC的实现方式为依赖注入 9 6 2Spring工作原理4 Spring的主要功能面向切面的编程AOP是Spring框架的另一核心特色 AOP可以用一种松散耦合的方式来实现独立的关注点 再组合这些实现来建立最终系统 从技术的角度来说 一个典型的软件系统包含一些核心的关注点和系统的关注点 与之对照 用OOP建立的系统则是用松散耦合的模块化实现的一般关注点来实现的 在AOP中 这些模块化单元叫切面 aspect 而在OOP中 这些一般关注点的实现单元叫类 AOP与OOP的不同点关键在于它出来横切关注点的方式 在AOP中 每个关注点的实现都不知道其他关注点是否会 关注 它 AOP展示了一个从OOP转化来的强大的开发范型 9 6 2Spring工作原理5 Spring的主要功能持久层的封装和事物管理对数据库的操作已经成为现代软件所必不可少的一贯环节 减轻持久层的开发工作也就成为了Spring的目的之一 Spring提供了对持久层的整合功能 其中包括对JDBC的使用加以封装已经对各种O RMapping工具 例如 Hibernate iBATIS OJB等 的整合 9 6 2Spring工作原理6 Spring的主要功能提高了对Web的多种支持Spring自己实现了MVC Model View Controller 模式Web框架 使用Spring的MVC实现 可以很方便地使用Spring所提供的IoC和AOP服务 实现域模型与页面表单的清晰分离 使得应用程序有更好的结构和更易于维护 同时也支持对其他Web框架 如前面讲的Struts 的整合 9 6 3Spring的安装1 下载SpringSpring官方网站 http www springframework org 本案例用的是SpringFramework2 0 5使用 spring framework 2 0 5 zip 安装包 9 6 3Spring的安装2

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论