Java Web应用技术与案例教程 教学课件 ppt 作者 杨树林 胡洁萍 第三章 设计模式与分层架构

上传人:E**** 文档编号:89371534 上传时间:2019-05-24 格式:PPT 页数:16 大小:188KB
返回 下载 相关 举报
Java Web应用技术与案例教程 教学课件 ppt 作者  杨树林 胡洁萍 第三章 设计模式与分层架构_第1页
第1页 / 共16页
Java Web应用技术与案例教程 教学课件 ppt 作者  杨树林 胡洁萍 第三章 设计模式与分层架构_第2页
第2页 / 共16页
Java Web应用技术与案例教程 教学课件 ppt 作者  杨树林 胡洁萍 第三章 设计模式与分层架构_第3页
第3页 / 共16页
Java Web应用技术与案例教程 教学课件 ppt 作者  杨树林 胡洁萍 第三章 设计模式与分层架构_第4页
第4页 / 共16页
Java Web应用技术与案例教程 教学课件 ppt 作者  杨树林 胡洁萍 第三章 设计模式与分层架构_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《Java Web应用技术与案例教程 教学课件 ppt 作者 杨树林 胡洁萍 第三章 设计模式与分层架构》由会员分享,可在线阅读,更多相关《Java Web应用技术与案例教程 教学课件 ppt 作者 杨树林 胡洁萍 第三章 设计模式与分层架构(16页珍藏版)》请在金锄头文库上搜索。

1、第三章设计模式 与分层架构,本章要点,JSP Model-1模式及JavaBean的应用 利用JSP+JavaBean实现基于数据库的登录验证 MVC设计模式及Web组件的三种关联关系 使用JSP+Servlet+JavaBean实现用户登录验证 分层架构模式、原则及与MVC模式的关系 博客网站的分析与设计,3.1 JSP Model-1设计模式,JSP Model-1模式简介 在Java Web开发中最简单的一种开发模式是页面+逻辑处理,即JSP+JDBC,如图3-1所示。案例2-6采用的就是这种模式。在基于这类模式的实现中,JSP页面上不仅负责数据的显示、逻辑处理,还要结合JDBC完成数据

2、的持久化。在小型的项目中,这种方式是最为方便的,但在复杂的项目以及需求不断变化的项目中,人们慢慢的发现这种方式造成了不少的问题。,为了解决以上问题,人们在开发Java Web应用时,将JSP和JavaBean结合起来,诞生了JSP+JavaBean这样的技术体系,也称为JSP Model-1模式,如图3-2所示。,JavaBean及其使用 JavaBean是一种可重复使用、且跨平台的软件组件。JavaBean可分为两种:一种是有用户界面(UI, User Interface)的JavaBean ;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访

3、问的是后一种JavaBean。 一个标准的JavaBean有以下几个特性: JavaBean是一个公共的(public)类。 JavaBean有一个不带参数的构造方法。 JavaBean所有的属性定义为私有的。 JavaBean通过getXXX()方法设置属性,通过setXXX()方法获取属性。,案例3-1 利用JSP+JavaBean实现基于数据库的登录验证 将数据库的操作封装在JavaBean中,JSP引用JavaBean来实现登录验证。 技术要点 建立两个JavaBean:User和UserOpr。User用于存放用户数据,UserOpr实现操作。 在JSP中使用标签声明JavaBean

4、。 这里数据库名为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设计模式,MVC概述 MVC把应用程序分成三个核心模块:模型、视图和控制器,它们分别担负不同的任务。这三个部分以最少的耦合协同工作,从而提高应用的可扩展性及可维护性。 视图代表用户交互界面,对于We

5、b应用来说,可以概括为HTML界面,MVC设计模式对于视图的处理仅限于视图上数据的采集和处理,以及用户的请求,而不包括在视图上的业务流程的处理。业务流程的处理由模型处理。 模型就是业务流程/状态的处理以及业务规则的制订。业务流程的处理过程对其他层来说是暗箱操作,模型接受视图请求的数据,并返回最终的处理结果。 控制可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。,JSP Model-2 JSP Model-2体系结构,如图3-

6、3所示,是一种把JSP与Servlet联合使用来实现动态内容服务的方法。它吸取了两种技术各自的突出优点,用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能。这种方式清晰地分离了表达和内容,明确了角色的定义以及开发者与网页设计者的分工。因此Model-2较好地运用了MVC模式。事实上,项目越复杂,使用Model-2体系结构的好处就越大。,Web组件的三种关联关系 使用Model-2体系结构就是要发挥各组件的优势,组件之间的关联关系十分重要。Web组件之间存在三种关联关系: 转发、重定向、包含。存在以上关联关系的Web组件可以是JSP或Servl

7、et。,转发 转发允许把请求转发给同一应用程序中的其他Web组件。 如果当前的Servlet组件要把请求转发给一个JSP组件,如hello.jsp, 可以在Servlet方法中执行以下代码: RequestDispatcher rd = request.getRequestDispatcher(“/message.jsp“); rd.forward(request, response); 在JSP页面中,可以使用标签来转发请求,例如: 对于转发,转发的源组件和目标组件可共享request范围内的数据。因此,可以通过request对象传递数据。例如: request.setAttribute(“

8、msg“,“登录成功!进入主页“);/保存数据 String msg = (String)request.getAttributr(“msg“);/取数据,重定向 重定向类似于请求转发,但也有一些重要区别: Web组件可以将请求重定向到任一URL,而不仅仅是同一应用中的URL。 重定向的源组件和目标组件之间不共用同一个HttpServletRequest对象,因此不能共享request范围内的数据。 重定向使用response.sendRedirect(String url)方法。,包含 包含关系允许一个Web组件聚集来自同一个应用中其他Web组件的输出数据,并使用被聚集的数据来创建响应结果。

9、这种技术通常用于模板处理器,它可以控制网页的布局。模板中每个页面区域的内容来自不同的URL,从而组成单个页面。这种技术能够为应用程序提供一致的外观和感觉。包含关系的源组件和目标,用同一个HttpServletRequest对象,因此它们共享request内的数据。 Servlet类使用javax.servlet.RequestDispatcher.include()方法包含其他的Web组件。 在JSP文件中,可以通过指令来包含其他的Web资源,,案例3-2 使用JSP+Servlet+JavaBean实现用户登录 在案例3-1基础上进行设计,要求登录数据提交给Servlet。Servlet验证

10、后将结果转发给一个JSP网页(message.jsp)来显示,并要求message.jsp能自动返回,即如果10秒钟之内不操作,自动返回到登录页。message.jsp网页运行效果如图3-4所示。,3.3 Java Web应用中的分层架构,在传统的系统设计中,将数据库的访问、业务逻辑及可视元素等代码混杂在一起,这样虽然直观,但是代码可读性差,耦合度高,也为日后的维护和重构带来不便。为了解决这个问题,人们也提出了分层架构思想,即将各个功能分开,放在独立的层中,各层之间通过协作来完成整体功能。分层架构设计容易达到如下目的:分散关注,松散耦合,逻辑复用,标准定义。 分层架构模式 分层(Layer)模

11、式是最常见的一种架构模式。甚至说分层模式是很多架构模式的基础, 分层描述的是这样一种架构设计过程:从最低级别的抽象开始,称为第1层。这是系统的基础。通过将第J层放置在第J-1层的上面逐步向上完成抽象阶梯,直到到达功能的最高级别,称为第N层。 因而分层模式就可以定义为:将解决方案的组件分隔到不同的层中,每一层中的组件应保持内聚性,并且应大致在同一抽象级别,每一层都应与它下面的各层保持松散耦合。,Java Web应用中的三层结构 在Java Web应用系统开发中,比较流行三层结构(不包括后台数据库),是将系统分为表现层、业务逻辑层和数据访问层。 结合MVC模式的分层结构,案例3-3 博客网站的分析与设计,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号