第8章_基于Servlet的MVC模式(免费)[1].ppt_第1页
第8章_基于Servlet的MVC模式(免费)[1].ppt_第2页
第8章_基于Servlet的MVC模式(免费)[1].ppt_第3页
第8章_基于Servlet的MVC模式(免费)[1].ppt_第4页
第8章_基于Servlet的MVC模式(免费)[1].ppt_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

第8章MVC模式 课程目标 理解MVC模式的基本思想视图模型控制器能够运用MVC模式编写Web应用程序 引入 MVC模式的核心思想是有效地组合 视图 模型 和 控制器 掌握MVC模式对于设计合理的Web应用框架有着十分重要的意义 1 MVC模式介绍 JSP开发的两种模型 Model1 Model2 模型1使用JSP JavaBeans将页面显示和业务逻辑处理分开JSP实现页面显示 响应请求并将结果返回给客户JavaBean对象保存数据和实现业务逻辑 模型1的架构示意图 模型1的实例 详细 按照模型1编写一个用户登录验证的程序分析页面 login html 登录主页面 loginchk jsp 创建数据对象 保存用户登录信息 调用方法进行验证 验证通过 转发至welcome jsp 否则loginerr jsp 请求重新登录loginerr jsp 登录错误页面welcome jsp 登录成功页面 数据保存和处理UserBean java 保存用户登录信息 向JSP页面传递信息 UserCheckBean java 对用户名和密码进行验证 完成登录验证功能的主要业务逻辑 UserBean java publicclassUserBean privateStringname privateStringpassword UserCheck publicclassUserCheckBean protectedUserBeanuser publicUserCheckBean UserBeanuser this user user publicbooleanvalidate Stringname user getName Stringpassword user getPassword 实际应用中 你应该查询数据库 验证用户名和密码 if 张三 equals name loginchk jsp 模型1分析 优点 实现了页面显示与业务逻辑的分离缺点需要在JSP页面控制流程转向并且调用JavaBean代码业务逻辑复杂时 JSP编写变得复杂总结 简单的小型应用 可以使用 1 MVC模式介绍 模型2将模型1中JSP嵌入的流程控制和部分逻辑处理代码提取至一个单独的角色 控制器模型2是MVC架构模式在WEB开发中的应用 1 MVC模式介绍 MVC是一种设计模式 由Trygve为发展SmallTalk在1978年提出的 出现在GUI设计中 MVC按功能对各种对象进行分割 目的是为了将对象的耦合程度降至最低 1 MVC模式介绍 MVC是一种通过3个不同部分构造一个软件或组件的理想办法 模型 Model 封装了最核心的功能 用于存储数据以及处理用户请求的业务逻辑 视图 View 系统和用户交互的界面 从模型那获得数据并表现数据 同时将用户请求通知通知器 控制器 Controller 扮演调度者的角色 即控制器根据视图提出的请求判断将请求和数据交给那个模型处理 处理后的有关结果交给哪个视图更新显示 2 JSP中的MVC模式 模型 Model 一个或多个JavaBean对象 用于存储数据和处理数据 视图 View 一个或多个JSP页面 为模型提供数据显示 JSP页面主要使用HTML标记和JavaBean标记来显示数据 控制器 Controller 一个或多个Servlet对象 根据视图提交的请求进行控制 生成JavaBean实例输出给JSP页面 模型2的架构示意图 Web服务器 浏览器 HtmlJSP 视图 JavaBeans 模型 数据库 请求 响应 Servlet 控制器 选择视图 实例化 请求 模型2的实例 按照模型2的架构重写用户登录验证程序分析 login2 html 登录主页面 由ControllerServlet来接收请求ControllerServlet java 接收用户登录请求信息 调用JavaBean组件对其进行验证 并根据结果调用JSP页面返回客户端 login2 html 用户名 密码 ControllerServlet java Stringaction request getParameter action 验证请求合法性if isValidated request ControllerServlet java if login equals action UserBeanuser newUserBean user setName request getParameter name user setPassword request getParameter password UserCheckBeanuc newUserCheckBean user if uc validate 3 模型的生命周期与视图更新 由Servlet负责创建JavaBean 并将JSP页面发送的相关数据存储到JavaBean中 将JavaBean实例保存到相应的对象中 request session等 Servlet请求的某个JSP页面显示JavaBean的数据 3 1request周期的JavaBean 用CreateJavaBeanClass类的某个构造方法创建Javabean对象 例如 CreateJavaBeanClassbean newCreateJavaBeanClass 将所创建的JavaBean对象存放到HttpServletRequest对象request中 并指定查找该JavaBean的关键字 例如 request setAttribute keyWord bean 视图更新 Servlet请求JSP页面的代码RequestDispatcherdis request getRequestDispatcher show jsp dis forward request reponse JSP页面使用如下标记获得Servlet所创建的JavaBean的引用 显示具体数据 jsp getPropertyname keyWord property JavaBean的变量 3 2session周期的JavaBean 用CreateJavabeanClass类的某个构造方法创建JavaBean对象 例如 CreateJavaBeanClassbean newCreateJavaBeanClass 将所创建的JavaBean对象存放到HttpServletSession对象session中 并指定查找该JavaBean的关键字 例如 HttpSessionsession request getSession true session setAttribute keyWord bean 视图更新 JSP页面使用如下标记获得Servlet所创建的JavaBean的引用 3 3application周期的JavaBean 用CreateJavaBeanClass类的某个构造方法创建JavaBean对象 例如CreateJavaBeanClassbean newCreateJavaBeanClass Servlet使用getServletContext 方法返回服务器创建的ServletContext对象的引用 将所创建的JavaBean对象存放到ServletContext对象中 并指定查找该JavaBean的关键字 例如 getServletContext setAttribute keyWord bean 视图更新 JSP页面使用如下标记获得Servlet所创建的JavaBean的引用 实例 计算三角形面积四则运算查询数据库 计算三角形面积 题目 输入三角形三条边的长度 计算并显示三角形的面积 设计分析 界面JSP 输入三条边 input jsp 显示三角形面积 show jsp 模型JavaBean Triangle java 判断三条边是否能组成三角形 计算三角形面积控制器Servlet 从input jsp接收三条边输入的数据 创建响应的JavaBean实例 验证输入合法性后再计算三角形面积结果发给show jsp思考 如果输入比较复杂 验证合法性工作怎么处理比较好 从功能上考虑 Triangle java publicclassTriangle doublesideA sideB sideC 三角形三边doublearea 面积booleanisTriangle 是否构成一个三角形 Triangle java 计算三角形面积 如果可以构成三角形 返回面积 否则返回0 publicdoublegetArea returnArea 判断三边是否构成一个三角形 publicbooleangetIsTriangle returnisTriangle HandleData java publicvoiddoPost Triangletri newTriangle 创建Javabean对象request setAttribute triangle tri 将tri存储到HttpServletRequest对象中 获取三边的值并存放在tri对象中tri getArea 调用getArea 方法计算三角形面积RequestDispatcherdispatcher request getRequestDispatcher show jsp dispatcher forward request response 请求show jsp显示tri中的数据 show jsp 三角形的三边是 边A 边B 练习 将P92页第五章猜数游戏改成MVC模式 四则运算 题目 计算两个数的四则运算分析视图 输入两个数和运算符号页面 inputNumber jsp 显示计算结果页面 showResult jsp 模型 存储运算数 符号 计算运算结果并返回 ComputerBean java 控制器 获取用户输入 存放于相应的javaBean中 获取结果并返回给显示页面 查询数据库 题目 选择一个数据库的表 分页显示表的记录 分析设计 页面 选择数据库 表 分页显示页数 choiceDatabase jsp 显示数据库表的记录 showRecord jsp 控制器 接收用户数据 创建相应的bean存放数据中 获取分页显示结果发送给showRecord jsp模型 showRecordPage java将查询的结果进行分页显示结果 Database java 根据数据库 表返回查询结果 MVC模式的今天 Structs Apache软件基金下Jakarta项目的一部分 Struts框架的主要架构设计和开发者是CraigR McClanahanWebwork其他框架SpringHibernateAjax AsynchronousJavaScriptandXML 测验 编写一个Servlet 简单的显示 欢迎您访问本网站 的Servlet 注意中文显示 保存为helloworld java创建Servlet的类是tom jiafei 应该如何配置它才能运行 练习题5 不同作用范围的JavaBean的生命周期有什么不同 作为一个Java类 JavaBean一般需要符合什么条件 在JSP页面使用bean的标记是 其中涉

温馨提示

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

评论

0/150

提交评论