设计模式与分层架构.ppt_第1页
设计模式与分层架构.ppt_第2页
设计模式与分层架构.ppt_第3页
设计模式与分层架构.ppt_第4页
设计模式与分层架构.ppt_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

第三章设计模式与分层架构 本章要点 JSPModel 1模式及JavaBean的应用利用JSP JavaBean实现基于数据库的登录验证MVC设计模式及Web组件的三种关联关系使用JSP Servlet JavaBean实现用户登录验证分层架构模式 原则及与MVC模式的关系博客网站的分析与设计 3 1JSPModel 1设计模式 JSPModel 1模式简介在JavaWeb开发中最简单的一种开发模式是页面 逻辑处理 即JSP JDBC 如图3 1所示 案例2 6采用的就是这种模式 在基于这类模式的实现中 JSP页面上不仅负责数据的显示 逻辑处理 还要结合JDBC完成数据的持久化 在小型的项目中 这种方式是最为方便的 但在复杂的项目以及需求不断变化的项目中 人们慢慢的发现这种方式造成了不少的问题 为了解决以上问题 人们在开发JavaWeb应用时 将JSP和JavaBean结合起来 诞生了JSP JavaBean这样的技术体系 也称为JSPModel 1模式 如图3 2所示 JavaBean及其使用JavaBean是一种可重复使用 且跨平台的软件组件 JavaBean可分为两种 一种是有用户界面 UI UserInterface 的JavaBean 还有一种是没有用户界面 主要负责处理事务 如数据运算 操纵数据库 的JavaBean JSP通常访问的是后一种JavaBean 一个标准的JavaBean有以下几个特性 JavaBean是一个公共的 public 类 JavaBean有一个不带参数的构造方法 JavaBean所有的属性定义为私有的 JavaBean通过getXXX 方法设置属性 通过setXXX 方法获取属性 案例3 1利用JSP JavaBean实现基于数据库的登录验证将数据库的操作封装在JavaBean中 JSP引用JavaBean来实现登录验证 技术要点 建立两个JavaBean User和UserOpr User用于存放用户数据 UserOpr实现操作 在JSP中使用标签声明JavaBean 这里数据库名为test 建立的SQL脚本为 CREATEDATABASEtest USEtest CREATETABLEusers userNameVARCHAR 20 PRIMARYKEY userPwdVARCHAR 20 NOTNULL INSERTINTOusersVALUES yang 1234 3 2MVC与JSPModel 2设计模式 MVC概述MVC把应用程序分成三个核心模块 模型 视图和控制器 它们分别担负不同的任务 这三个部分以最少的耦合协同工作 从而提高应用的可扩展性及可维护性 视图代表用户交互界面 对于Web应用来说 可以概括为HTML界面 MVC设计模式对于视图的处理仅限于视图上数据的采集和处理 以及用户的请求 而不包括在视图上的业务流程的处理 业务流程的处理由模型处理 模型就是业务流程 状态的处理以及业务规则的制订 业务流程的处理过程对其他层来说是暗箱操作 模型接受视图请求的数据 并返回最终的处理结果 控制可以理解为从用户接收请求 将模型与视图匹配在一起 共同完成用户的请求 划分控制层的作用也很明显 它清楚地告诉你 它就是一个分发器 选择什么样的模型 选择什么样的视图 可以完成什么样的用户请求 控制层并不做任何的数据处理 JSPModel 2JSPModel 2体系结构 如图3 3所示 是一种把JSP与Servlet联合使用来实现动态内容服务的方法 它吸取了两种技术各自的突出优点 用JSP技术实现视图的功能 用Servlet技术实现控制器的功能 用JavaBean技术实现模型的功能 这种方式清晰地分离了表达和内容 明确了角色的定义以及开发者与网页设计者的分工 因此Model 2较好地运用了MVC模式 事实上 项目越复杂 使用Model 2体系结构的好处就越大 Web组件的三种关联关系使用Model 2体系结构就是要发挥各组件的优势 组件之间的关联关系十分重要 Web组件之间存在三种关联关系 转发 重定向 包含 存在以上关联关系的Web组件可以是JSP或Servlet 转发转发允许把请求转发给同一应用程序中的其他Web组件 如果当前的Servlet组件要把请求转发给一个JSP组件 如hello jsp 可以在Servlet方法中执行以下代码 RequestDispatcherrd request getRequestDispatcher message jsp rd forward request response 在JSP页面中 可以使用标签来转发请求 例如 对于转发 转发的源组件和目标组件可共享request范围内的数据 因此 可以通过request对象传递数据 例如 request setAttribute msg 登录成功 进入主页 保存数据Stringmsg String request getAttributr msg 取数据 重定向重定向类似于请求转发 但也有一些重要区别 Web组件可以将请求重定向到任一URL 而不仅仅是同一应用中的URL 重定向的源组件和目标组件之间不共用同一个HttpServletRequest对象 因此不能共享request范围内的数据 重定向使用response sendRedirect Stringurl 方法 包含包含关系允许一个Web组件聚集来自同一个应用中其他Web组件的输出数据 并使用被聚集的数据来创建响应结果 这种技术通常用于模板处理器 它可以控制网页的布局 模板中每个页面区域的内容来自不同的URL 从而组成单个页面 这种技术能够为应用程序提供一致的外观和感觉 包含关系的源组件和目标 用同一个HttpServletRequest对象 因此它们共享request内的数据 Servlet类使用javax servlet RequestDispatcher include 方法包含其他的Web组件 在JSP文件中 可以通过指令来包含其他的Web资源 案例3 2使用JSP Servlet JavaBean实现用户登录在案例3 1基础上进行设计 要求登录数据提交给Servlet Servlet验证后将结果转发给一个JSP网页 message jsp 来显示 并要求message jsp能自动返回 即如果10秒钟之内不操作 自动返回到登录页 message jsp网页运行效果如图3 4所示 3 3JavaWeb应用中的分层架构 在传统的系统设计中 将数据库的访问 业务逻辑及可视元素等代码混杂在一起 这样虽然直观 但是代码可读性差 耦合度高 也为日后的维护和重构带来不便 为了解决这个问题 人们也提出了分层架构思想 即将各个功能分开 放在独立的层中 各层之间通过协作来完成整体功能 分层架构设计容易达到如下目的 分散关注 松散耦合 逻辑复用 标准定义 分层架构模式分层 Layer 模式是最常见的一种架构模式 甚至说分层模式是很多架构模式的基础 分层描述的是这样一种架构设计过程 从最低级别的抽象开始 称为第1层 这是系统的基础 通过将第J层放置在第J 1层的上面逐步向上完成抽象阶梯 直到到达功能的最高级别 称为第N层 因而分层模式就可以定义为 将解决方

温馨提示

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

评论

0/150

提交评论