欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    第三章 设计模式与分层架构(精品).ppt

    • 资源ID:71425056       资源大小:188KB        全文页数:16页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第三章 设计模式与分层架构(精品).ppt

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

    注意事项

    本文(第三章 设计模式与分层架构(精品).ppt)为本站会员(hyn****60)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开