MVC设计模式和学习教案

上传人:可**** 文档编号:113150366 上传时间:2022-06-24 格式:PPTX 页数:32 大小:777.16KB
收藏 版权申诉 举报 下载
MVC设计模式和学习教案_第1页
第1页 / 共32页
MVC设计模式和学习教案_第2页
第2页 / 共32页
MVC设计模式和学习教案_第3页
第3页 / 共32页
资源描述:

《MVC设计模式和学习教案》由会员分享,可在线阅读,更多相关《MVC设计模式和学习教案(32页珍藏版)》请在装配图网上搜索。

1、会计学1MVC设计模式和设计模式和第一页,共32页。2什么是设计模式?什么是设计模式?如何如何(rh)(rh)理解理解MVCMVC设计模式?设计模式?为什么需要为什么需要MVCMVC设计模式?设计模式?第1页/共31页第二页,共32页。3JavaEEJavaEE是基于是基于(jy)(jy)组件开发组件开发 请求请求(qngqi)ServletJavaBeanJSP页页面面执行执行调用调用转向转向响应响应JSTL使用使用访问访问返回数据返回数据客户端客户端第2页/共31页第三页,共32页。4小孩小孩(xio hi)(xio hi)的积木的积木 积木积木(jm)(jm)块块组装组装成品成品Java

2、EE组件组件组件间协作组件间协作应用程序应用程序第3页/共31页第四页,共32页。5第4页/共31页第五页,共32页。6混编第5页/共31页第六页,共32页。7 接触过的接触过的JavaBeanJavaBean新闻发布中新闻的一级、二级标题新闻发布中新闻的一级、二级标题(biot)(biot)JavaBeanJavaBean的来源的来源Bean:Bean:豆子豆子JavaBeanJavaBean是应用程序的组成部分是应用程序的组成部分JavaBeanJavaBean的分类的分类封装数据封装数据封装业务方法封装业务方法public class SecondLevelTitle public Se

3、condLevelTitle() private int id; private String titleName; private int parentTitleId; private String creator; public int getId() return this.id; public void setId(int id) this.id=id; /其它其它(qt)setter、getter方法方法第6页/共31页第七页,共32页。8第7页/共31页第八页,共32页。9n可以通过setter和getter方法设置属性和取得属性,且类型(lixng)为publicn使用JSP标签

4、去调用JavaBean时必须有一个无参构造方法第8页/共31页第九页,共32页。10Package cn.edu.bzu.jw.bean.entitypublic class User private String name;/ 用户名用户名 private String password;/ 密码密码(m m) private String email; / 电子邮件电子邮件 private int id; / IDpublic User() public void setName(String name) this. name = name; public String getName()

5、 return name; /其它属性的其它属性的setter、getter方法方法JavaBean - User.java将属性声明将属性声明(shngmng)为私有属性为私有属性无参的公有无参的公有(gngyu)构造方法构造方法公有的设置属性值方法公有的设置属性值方法setXxx( )公有的获取属性值方法公有的获取属性值方法getXxx( )第9页/共31页第十页,共32页。11业务业务(yw)类类 - UserOperation.javapublic class UserOperation public int saveUser(User user) int result = 0; tr

6、y Connection con = ConnectionManager.getConnction(); String strSql = insert into users(name, password,email) values(?,?,?); PreparedStatement pStatement = con.prepareStatement(strSql); pStatement.setString(1,user.getName(); /设置其它设置其它(qt)的参数值的参数值 result = pStatement.executeUpdate(); catch (SQLExcepti

7、on sqlE) sqlE.printStackTrace(); finally ConnectionManager.close(pStatement);./关闭资源关闭资源 return result; 把封装好数据的对象作为参数把封装好数据的对象作为参数从对象中取数据从对象中取数据第10页/共31页第十一页,共32页。12广义讲广义讲, ,符合规范的符合规范的JavaJava类都是类都是JavaBeanJavaBeanJavaBeanJavaBean的作用的作用封装数据封装数据处理业务逻辑处理业务逻辑JSPJSP与与JavaBeanJavaBean如何结合使用呢?如何结合使用呢?JSPJS

8、P标准标准(biozhn)(biozhn)动作动作第11页/共31页第十二页,共32页。13通过通过Java Java 脚本使用后台脚本使用后台JavaBeanJavaBean美工难以维护美工难以维护使用使用JSPJSP标准标准(biozhn)(biozhn)动作动作JSPJSP标准标准(biozhn)(biozhn)动作包括:动作包括:JSP 标准标准(biozhn)动作动作第12页/共31页第十三页,共32页。14% page import=“”%类名类名(li mn) (li mn) 实例化对象名实例化对象名 = new = new 类名类名(li mn)();(li mn)();在在J

9、SP中的等价代码中的等价代码第13页/共31页第十四页,共32页。15.jsp:useBean id=“user class=“ scope=request/.useBeanuseBean动作动作(dngzu)(dngzu)创建或者获得一个对象创建或者获得一个对象JavaBean JavaBean 的的scopescope设置设置 :创建对象的名称创建对象的名称(mngchng)创建对象的类型创建对象的类型指定对象的范围指定对象的范围范围说明pagepageBean Bean 对象只能在当前页面使用,对象只能在当前页面使用,当加载新页面时就会被销毁当加载新页面时就会被销毁requestrequ

10、estBeanBean对象在一个请求过程中存在对象在一个请求过程中存在sessionsessionBeanBean对象在一个会话中存在,直至会话其终止或被删除为止对象在一个会话中存在,直至会话其终止或被删除为止applicationapplicationBeanBean对象在整个应用程序中均可使用对象在整个应用程序中均可使用第14页/共31页第十五页,共32页。16基本格式:基本格式:jsp:setProperty name =“JavaBean”/setPropertysetProperty动作设置动作设置(shzh)JavaBean(shzh)JavaBean属性属性在在useBean动作

11、中定义的动作中定义的id,必选,必选设置设置JavaBean的哪个属性,必选的哪个属性,必选指定哪个请求参数或值作为指定哪个请求参数或值作为JavaBean的属性值,可选的属性值,可选getPropertygetProperty动作取得动作取得JavaBeanJavaBean属性属性基本格式:基本格式:jsp:getProperty name =“JavaBean”/在在useBean动作中定义的动作中定义的id,必选,必选取得取得JavaBean的哪个属性,必选的哪个属性,必选第15页/共31页第十六页,共32页。17value设置设置(shzh) JavaBean 的该属性值的该属性值pr

12、operty指定指定 JavaBean 的属性名称的属性名称 设置设置JavaBeanJavaBean的属性值的属性值 获取获取JavaBeanJavaBean中属性的值中属性的值.jsp:useBean id= “user class=“ scope= request/jsp:setProperty name= “user” property= “name” value= “/.name 属性指定对属性指定对 JavaBean 类类的引用,与的引用,与useBean中的中的id一致一致property指定指定 JavaBean 的属性名称的属性名称name 属性指定对属性指定对 JavaBe

13、an 类的引用类的引用第16页/共31页第十七页,共32页。18propertyproperty:如果其值为:如果其值为“* *”,则表示所有名字和,则表示所有名字和beanbean属性属性名字匹配名字匹配(ppi)(ppi)的请求参数都被传递给相应的属性的的请求参数都被传递给相应的属性的settersetter方法方法利用了利用了JavaJava的反射机制,根据传递参数的名称,找到的反射机制,根据传递参数的名称,找到JavaBeanJavaBean中的同名属性,自动调用相应的中的同名属性,自动调用相应的settersetter方法方法jsp:setProperty name =“JavaBe

14、an/第17页/共31页第十八页,共32页。19propertyproperty:可以根据自己的需要设置特定属性:可以根据自己的需要设置特定属性利用了利用了JavaJava的反射机制,根据传递参数的名称的反射机制,根据传递参数的名称(mngchng)(mngchng),找到,找到JavaBeanJavaBean中的同名属性,自动调用相应的中的同名属性,自动调用相应的settersetter方法方法jsp:setProperty name =“JavaBean”/第18页/共31页第十九页,共32页。20jsp:setProperty name =“JavaBean”/paramparam:可以

15、指定哪个请求参数作为:可以指定哪个请求参数作为JavaBeanJavaBean的属性值的属性值此种形式比前两种形式灵活,可以根据自己的需要任意选择此种形式比前两种形式灵活,可以根据自己的需要任意选择(xunz)(xunz)传递的参数传递的参数第19页/共31页第二十页,共32页。21jsp:setProperty name =“JavaBean”/valuevalue:可以根据用户需要,自己:可以根据用户需要,自己(zj)(zj)指定指定JavaBeanJavaBean的属的属性值性值第20页/共31页第二十一页,共32页。22使用使用JSP标准动作完成用户登录注册标准动作完成用户登录注册(z

16、hc)功能功能第21页/共31页第二十二页,共32页。23 调用调用(dioyng)业务业务bean中的方法实现用户登录验证中的方法实现用户登录验证获得用户提交数据获得用户提交数据(shj),并为属性赋值,并为属性赋值根据返回根据返回(fnhu)结果,进行跳转结果,进行跳转创建创建JavaBean实例化对象实例化对象第22页/共31页第二十三页,共32页。24 0) % 调用调用(dioyng)业务业务bean中的方法实现用户注册中的方法实现用户注册获得用户提交获得用户提交(tjio)数据,并为属性赋值数据,并为属性赋值根据返回根据返回(fnhu)结果,进行跳转结果,进行跳转JSP标准动作,转

17、发到标准动作,转发到page属性指定的页面,等价属性指定的页面,等价与与RequestDispatcher对象的对象的forward(request,response)方法方法创建创建JavaBean实例化对象实例化对象第23页/共31页第二十四页,共32页。25Model IModel I设计模式设计模式JSP+JavaBeanJSP+JavaBean(View + ModelView + Model)Model IModel I和和Model IIModel II的对比的对比(dub)(dub)Model IIModel II即即MVCMVC设计模式设计模式Model IModel I缺少

18、控制器(缺少控制器(ControllerController),不易维护和扩展),不易维护和扩展Model IModel I适用于开发中、小型项目适用于开发中、小型项目第24页/共31页第二十五页,共32页。26什么是设计模式什么是设计模式是一套被反复使用、多数人知晓的、代码设计经验的总结是一套被反复使用、多数人知晓的、代码设计经验的总结模式必须是典型问题(不是个别问题)的解决方案模式必须是典型问题(不是个别问题)的解决方案设计模式的作用设计模式的作用解决一类问题的成功经验解决一类问题的成功经验是为了可重用代码、让代码更容易被他人理解是为了可重用代码、让代码更容易被他人理解(lji)(lji)

19、、保证代码、保证代码可靠性可靠性第25页/共31页第二十六页,共32页。27MVCMVC设计模式设计模式模型模型(mxng) - Model(mxng) - Model视图视图 - View - View控制器控制器 - Controller - ControllerMVC 模式模式(msh)控制器控制器模型模型(mxng)视图视图JavaBeanJSPServlet2种流行的编程方式:种流行的编程方式:JSP+JavaBeanJSP+Servlet+JavaBean第26页/共31页第二十七页,共32页。28模型:代表应用程序状态和业务模型:代表应用程序状态和业务(yw)逻辑逻辑 控制器:根

20、据客户控制器:根据客户(k h)的请求来操纵模型,并把结果经由视图展现给客户的请求来操纵模型,并把结果经由视图展现给客户(k h) 视图:提供可交互视图:提供可交互(jioh)的客户界面,向客户显示模型数据的客户界面,向客户显示模型数据 MVC设计模式的模块组成设计模式的模块组成第27页/共31页第二十八页,共32页。29 MVC设计模式的优点设计模式的优点(yudin)各司其职各司其职( s q zh)、互不干涉、互不干涉代码的重用性代码的重用性有利于开发的分工有利于开发的分工MVC 的优点的优点第28页/共31页第二十九页,共32页。30 Web Web容器容器(rngq)(rngq)处理

21、请求过程处理请求过程请求请求(qngqi)ServletJavaBeanJSP页面页面执行执行调用调用转向转向响应响应访问访问返回数据返回数据客户端客户端JSP视图动视图动态显示数据态显示数据Servlet控制器,用控制器,用于接收于接收请求和控制请求和控制应用程序的流程应用程序的流程JavaBean数据数据模型进行业务逻模型进行业务逻辑和访问数据库辑和访问数据库第29页/共31页第三十页,共32页。31 MVC MVC编程思路编程思路(sl)(sl)执行执行(zhxng)Servlet接收客户端接收客户端请求,并调用业务类请求,并调用业务类的方法进行数据处理的方法进行数据处理Servlet根据数据处理的根据数据处理的结果,控制下一个显示结果,控制下一个显示的的HTML或者或者JSP页面页面ServletJSP页面页面转向转向JavaBean调用调用第30页/共31页第三十一页,共32页。32感谢您的观看感谢您的观看(gunkn)!第31页/共31页第三十二页,共32页。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


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