




已阅读5页,还剩11页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章设计模式 与分层架构 本章要点 uJSP Model-1模式及JavaBean的应用 u利用JSP+JavaBean实现基于数据库的登 录验证 uMVC设计模式及Web组件的三种关联关系 u使用JSP+Servlet+JavaBean实现用户登 录验证 u分层架构模式、原则及与MVC模式的关系 u博客网站的分析与设计 3.1 JSP Model-1设计模式 uJSP Model-1模式简介 在Java Web开发中最简单的一种开发模式是 页面+逻辑处理,即JSP+JDBC,如图3-1所示。案 例2-6采用的就是这种模式。在基于这类模式的实现 中,JSP页面上不仅负责数据的显示、逻辑处理,还 要结合JDBC完成数据的持久化。在小型的项目中, 这种方式是最为方便的,但在复杂的项目以及需求 不断变化的项目中,人们慢慢的发现这种方式造成 了不少的问题。 为了解决以上问题,人们在开发Java Web应用时,将JSP和JavaBean结合起来 ,诞生了JSP+JavaBean这样的技术体系, 也称为JSP Model-1模式,如图3-2所示。 uJavaBean及其使用 JavaBean是一种可重复使用、且跨平台的软 件组件。JavaBean可分为两种:一种是有用户界面 (UI, User Interface)的JavaBean ;还有一种是 没有用户界面,主要负责处理事务(如数据运算,操 纵数据库)的JavaBean。JSP通常访问的是后一种 JavaBean。 一个标准的JavaBean有以下几个特性: uJavaBean是一个公共的(public)类。 uJavaBean有一个不带参数的构造方法。 uJavaBean所有的属性定义为私有的。 uJavaBean通过getXXX()方法设置属性, 通过setXXX()方法获取属性。 u案例3-1 利用JSP+JavaBean实现基于数据库的登录验 证 将数据库的操作封装在JavaBean中,JSP引用 JavaBean来实现登录验证。 技术要点 u建立两个JavaBean:User和UserOpr。User 用于存放用户数据,UserOpr实现操作。 u在JSP中使用标签声明 JavaBean。 u这里数据库名为test,建立的SQL脚本为: CREATE DATABASE test; USE test; CREATE TABLE users ( userName VARCHAR(20) PRIMARY KEY, userPwd VARCHAR(20) NOT NULL ); INSERT INTO users VALUES(yang, 1234); 3.2 MVC与JSP Model-2设计模式 uMVC概述 MVC把应用程序分成三个核心模块:模型、视图和控制 器,它们分别担负不同的任务。这三个部分以最少的耦合协同 工作,从而提高应用的可扩展性及可维护性。 u视图代表用户交互界面,对于Web应用来说, 可以概括为HTML界面,MVC设计模式对于视图的处理仅限 于视图上数据的采集和处理,以及用户的请求,而不包括在 视图上的业务流程的处理。业务流程的处理由模型处理。 u模型就是业务流程/状态的处理以及业务规则的 制订。业务流程的处理过程对其他层来说是暗箱操作,模型 接受视图请求的数据,并返回最终的处理结果。 u控制可以理解为从用户接收请求,将模型与视 图匹配在一起,共同完成用户的请求。划分控制层的作用也 很明显,它清楚地告诉你,它就是一个分发器,选择什么样 的模型,选择什么样的视图,可以完成什么样的用户请求。 控制层并不做任何的数据处理。 uJSP Model-2 JSP Model-2体系结构,如图3-3所示,是一种把JSP与 Servlet联合使用来实现动态内容服务的方法。它吸取了两种 技术各自的突出优点,用JSP技术实现视图的功能,用Servlet 技术实现控制器的功能,用JavaBean技术实现模型的功能。 这种方式清晰地分离了表达和内容,明确了角色的定义以及开 发者与网页设计者的分工。因此Model-2较好地运用了MVC模 式。事实上,项目越复杂,使用Model-2体系结构的好处就越 大。 uWeb组件的三种关联关系 使用Model-2体系结构就是要发挥各组 件的优势,组件之间的关联关系十分重要。 Web组件之间存在三种关联关系: 转发、重 定向、包含。存在以上关联关系的Web组件 可以是JSP或Servlet。 转发 u转发允许把请求转发给同一应用程序中的 其他Web组件。 u如果当前的Servlet组件要把请求转发给一 个JSP组件,如hello.jsp, 可以在Servlet方法中执行以 下代码: RequestDispatcher rd = request.getRequestDispatcher(“/message.jsp“); rd.forward(request, response); u在JSP页面中,可以使用 标签来转发请求,例如: u对于转发,转发的源组件和目标组件可共 享request范围内的数据。因此,可以通过request对 象传递数据。例如: request.setAttribute(“msg“,“登 录成功!进入主 页“);/保存数据 String msg = (String)request.getAttributr(“msg“);/取数据 重定向 u重定向类似于请求转发,但也有一 些重要区别: Web组件可以将请求重定向到 任一URL,而不仅仅是同一应用中的URL。 重定向的源组件和目标组件之 间不共用同一个HttpServletRequest对象,因此 不能共享request范围内的数据。 重定向使用 response.sendRedirect(String url)方法。 包含 u包含关系允许一个Web组件聚集来 自同一个应用中其他Web组件的输出数据, 并使用被聚集的数据来创建响应结果。这种技 术通常用于模板处理器,它可以控制网页的布 局。模板中每个页面区域的内容来自不同的 URL,从而组成单个页面。这种技术能够为应 用程序提供一致的外观和感觉。包含关系的源 组件和目标,用同一个HttpServletRequest 对象,因此它们共享request内的数据。 uServlet类使用 javax.servlet.RequestDispatcher.include ()方法包含其他的Web组件。 u在JSP文件中,可以通过 指令来包含其他的Web资源, u案例3-2 使用JSP+Servlet+JavaBean实现用 户登录 在案例3-1基础上进行设计,要求登录数据 提交给Servlet。Servlet验证后将结果转发给一个 JSP网页(message.jsp)来显示,并要求 message.jsp能自动返回,即如果10秒钟之内不 操作,自动返回到登录页。message.jsp网页运 行效果如图3-4所示。 3.3 Java Web应用中的分层架构 u在传统的系统设计中,将数据库的访问、业务逻辑及可视 元素等代码混杂在一起,这样虽然直观,但是代码可读性 差,耦合度高,也为日后的维护和重构带来不便。为了解 决这个问题,人们也提出了分层架构思想,即将各个功能 分开,放在独立的层中,各层之间通过协作来完成整体功 能。分层架构设计容易达到如下目的:分散关注,松散耦 合,逻辑复用,标准定义。 u分层架构模式 分层(Layer)模式是最常见的一种架构模式。甚至说 分层模式是很多架构模式的基础, 分层描述的是这样一种架构设计过程:从最低级别的抽 象开始,称为第1层。这是系统的基础。通过将第J层放置在第 J-1层的上面逐步向上完成抽象阶梯,直到到达功能的最高级 别,称为第N层。 因而分层模式就可以定义为:将解决方
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 九年级英语下册 Unit 13 We're trying to save the earth Section A第1课时(1a-2d)教学设计(新版)人教新目标版
- 人教版七年级上册生物3.1.1 藻类、苔藓和蕨类植物教学设计
- 餐前餐中餐后培训
- 损有余补不足-【2022年暑假预习】云名著《世说新语》之“德行”卷
- 三年级数学上册 五 四则混合运算第2课时 除法和加、减的混合运算教学设计 西师大版
- 人教部编版五年级上册10 牛郎织女(一)教案设计
- 肺癌伴脑转移护理查房
- 电网服务培训
- 报销制度培训
- 2024中国能源建设集团东电三公司社会招聘6人笔试参考题库附带答案详解
- 《控制计划培训》课件
- 中学风险辨识评估和应急资源调查报告
- 《他汀不耐受的临床诊断与处理专家共识》解读
- 2024年中考英语复习:补全对话 中考真题练习题汇编(含答案解析)
- 2024年郑州信息科技职业学院高职单招(英语/数学/语文)笔试历年参考题库含答案解析
- 部编版二年级下册道德与法治第三单元《绿色小卫士》全部教案
- 乳猪料生产工艺
- Braden压疮风险评估量表解析
- 蔚来培训课件
- 牙周病的护理课件
- 【ABC分类管理法在吉利汽车企业库存管理中的应用分析案例报告7200字(论文)】
评论
0/150
提交评论