版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1 理解MVC的优势 掌握MVC的应用开发 在MVC中会使用Servlet 进行程序控制MVC学习目标什么是设计模式?什么是设计模式?如何理解如何理解MVCMVC设计模式?设计模式?为什么需要为什么需要MVCMVC设计模式?设计模式?第1页/共31页第一页,编辑于星期六:九点 四十四分。2组件开发JavaEEJavaEE是基于组件开发是基于组件开发 请求请求ServletJavaBeanJSP页面页面执行执行调用调用转向转向响应响应JSTL使用使用访问访问返回数据返回数据客户端客户端第2页/共31页第二页,编辑于星期六:九点 四十四分。3组件开发小孩的积木小孩的积木 积木块积木块组装组装成品成
2、品JavaEE组件组件组件间协作组件间协作应用程序应用程序第3页/共31页第三页,编辑于星期六:九点 四十四分。4利用JavaBean增强JSP1.什么是JavaBean? 其实就是一个Java类 为了提高代码的复用性,完善分布式系统体系 其实就是为了提高Java 程序的可复用性,而提出的基于Java的软件组织模型 可以利用JavaBean封装事务逻辑,进行数据库的操作等,可以很好地实现业务逻辑和前台程序(JSP文件)的分离第4页/共31页第四页,编辑于星期六:九点 四十四分。52. JavaBean的优点 提高代码的可复用性 对于通用的事务处理逻辑、数据库操作等都可以封装到JavaBean中
3、,通过调用JavaBean的属性和方法可快速进行程序设计 程序易于开发维护 实现逻辑的封装,使业务处理和显示互不干扰 支持分布式运用 多用JavaBean,尽量减少Java代码和HTML的混编第5页/共31页第五页,编辑于星期六:九点 四十四分。6JavaBean介绍 接触过的接触过的JavaBeanJavaBean新闻发布中新闻的一级、二级标题JavaBeanJavaBean的来源的来源Bean:豆子JavaBean是应用程序的组成部分JavaBeanJavaBean的分类的分类封装数据封装业务方法public class SecondLevelTitle public SecondLeve
4、lTitle() 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; /其它其它setter、getter方法方法第6页/共31页第六页,编辑于星期六:九点 四十四分。73.开发JavaBean 编写Bean(没有main方法的应用程序) 默认情况下,编译保存到WEB-INFclasses路径下,JSP文件中即可使用
5、JavaBean的作用域:page、request、session、 application第7页/共31页第七页,编辑于星期六:九点 四十四分。8如何编写JavaBean? 编写JavaBean必须满足以下几点 所有的JavaBean必须放在一个包中 JavaBean必须声明为public class类型文件名与类名一致 所有的属性必须封装成private类型 可以通过setter和getter方法设置属性和取得属性,且类型为public 使用JSP标签去调用JavaBean时必须有一个无参构造方法第8页/共31页第八页,编辑于星期六:九点 四十四分。9封装数据的JavaBeanPackag
6、e .bzu.jw.bean.entitypublic class User private String name;/ 用户名用户名 private String password;/ 密码密码 private String email; / 电子邮件电子邮件 private int id; / IDpublic User() public void setName(String name) this. name = name; public String getName() return name; /其它属性的其它属性的setter、getter方法方法JavaBean -
7、User.java将属性声明为私有属性将属性声明为私有属性无参的公有构造方法无参的公有构造方法公有的设置属性值方法公有的设置属性值方法setXxx( )公有的获取属性值方法公有的获取属性值方法getXxx( )第9页/共31页第九页,编辑于星期六:九点 四十四分。10封装业务的JavaBean业务类业务类 - UserOperation.javapublic class UserOperation public int saveUser(User user) int result = 0; try Connection con = ConnectionManager.getConnction(
8、); String strSql = insert into users(name, password,email) values(?,?,?); PreparedStatement pStatement = con.prepareStatement(strSql); pStatement.setString(1,user.getName(); /设置其它的参数值设置其它的参数值 result = pStatement.executeUpdate(); catch (SQLException sqlE) sqlE.printStackTrace(); finally ConnectionMan
9、ager.close(pStatement);./关闭资源关闭资源 return result; 把封装好数据的对象作为参数把封装好数据的对象作为参数从对象中取数据从对象中取数据第10页/共31页第十页,编辑于星期六:九点 四十四分。11JavaBean与JSP广义讲广义讲, ,符合规范的符合规范的JavaJava类都是类都是JavaBeanJavaBeanJavaBeanJavaBean的作用的作用封装数据处理业务逻辑JSPJSP与与JavaBeanJavaBean如何结合使用呢?如何结合使用呢?JSP标准动作第11页/共31页第十一页,编辑于星期六:九点 四十四分。12为什么需要JSP标准
10、动作通过通过Java Java 脚本使用后台脚本使用后台JavaBeanJavaBean美工难以维护使用使用JSPJSP标准动作标准动作JSP标准动作包括:JSP 标准动作标准动作第12页/共31页第十二页,编辑于星期六:九点 四十四分。13JSP中引用JavaBean的语法% page ”%类名类名 实例化对象名实例化对象名 = = newnew 类名类名();();在在JSP中的等价代码中的等价代码第13页/共31页第十三页,编辑于星期六:九点 四十四分。14useBean 动作.jsp:useBean id=“user class=“ scope=request/.useBeanuseB
11、ean动作创建或者获得一个对象动作创建或者获得一个对象JavaBean JavaBean 的的scopescope设置设置 :创建对象的名称创建对象的名称创建对象的类型创建对象的类型指定对象的范围指定对象的范围范围说明pagepageBean Bean 对象只能在当前页面使用,对象只能在当前页面使用,当加载新页面时就会被销毁当加载新页面时就会被销毁requestrequestBeanBean对象在一个请求过程中存在对象在一个请求过程中存在sessionsessionBeanBean对象在一个会话中存在,直至会话其终止或被删除为止对象在一个会话中存在,直至会话其终止或被删除为止applicati
12、onapplicationBeanBean对象在整个应用程序中均可使用对象在整个应用程序中均可使用第14页/共31页第十四页,编辑于星期六:九点 四十四分。15JSP中设置和取得JavaBean属性的语法基本格式:基本格式:jsp:setProperty name =“JavaBean”/setPropertysetProperty动作设置动作设置JavaBeanJavaBean属性属性在在useBean动作中定义的动作中定义的id,必选,必选设置设置JavaBean的哪个属性,必选的哪个属性,必选指定哪个请求参数或值作为指定哪个请求参数或值作为JavaBean的属性值,可选的属性值,可选ge
13、tPropertygetProperty动作取得动作取得JavaBeanJavaBean属性属性基本格式:基本格式:jsp:getProperty name =“JavaBean”/在在useBean动作中定义的动作中定义的id,必选,必选取得取得JavaBean的哪个属性,必选的哪个属性,必选第15页/共31页第十五页,编辑于星期六:九点 四十四分。16setProperty和getProperty动作. .value设置设置 JavaBean 的该属性值的该属性值property指定指定 JavaBean 的属性名称的属性名称 设置设置JavaBeanJavaBean的属性值的属性值 获取
14、获取JavaBeanJavaBean中属性的值中属性的值.jsp:useBean id= “user class=“ scope= request/jsp:setProperty name= “user” property= “name” value= “/.name 属性指定对属性指定对 JavaBean 类类的引用,与的引用,与useBean中的中的id一致一致property指定指定 JavaBean 的属性名称的属性名称name 属性指定对属性指定对 JavaBean 类的引用类的引用第16页/共31页第十六页,编辑于星期六:九点 四十四分。17自动匹配设置属性propertyprop
15、erty:如果其值为:如果其值为“* *”,则表示所有名字和,则表示所有名字和beanbean属性名字属性名字匹配的请求参数都被传递给相应的属性的匹配的请求参数都被传递给相应的属性的settersetter方法方法利用了利用了JavaJava的反射机制,根据传递参数的名称,找到的反射机制,根据传递参数的名称,找到JavaBeanJavaBean中的同名属性,自动调用相应的中的同名属性,自动调用相应的settersetter方法方法jsp:setProperty name =“JavaBean/第17页/共31页第十七页,编辑于星期六:九点 四十四分。18指定属性名设置属性propertypro
16、perty:可以根据自己的需要设置特定属性:可以根据自己的需要设置特定属性利用了利用了JavaJava的反射机制,根据传递参数的名称,找到的反射机制,根据传递参数的名称,找到JavaBeanJavaBean中的同名属性,自动调用相应的中的同名属性,自动调用相应的settersetter方法方法jsp:setProperty name =“JavaBean/第18页/共31页第十八页,编辑于星期六:九点 四十四分。19param的使用jsp:setProperty name =“JavaBean/paramparam:可以指定哪个请求参数作为:可以指定哪个请求参数作为JavaBeanJavaBe
17、an的属性值的属性值此种形式比前两种形式灵活,可以根据自己的需要任意选择传此种形式比前两种形式灵活,可以根据自己的需要任意选择传递的参数递的参数第19页/共31页第十九页,编辑于星期六:九点 四十四分。20value的使用jsp:setProperty name =“JavaBean/valuevalue:可以根据用户需要,自己指定:可以根据用户需要,自己指定JavaBeanJavaBean的属性值的属性值第20页/共31页第二十页,编辑于星期六:九点 四十四分。21JSP标准动作示例使用使用JSP标准动作完成用户登录注册功能标准动作完成用户登录注册功能第21页/共31页第二十一页,编辑于星期
18、六:九点 四十四分。22showUserLogin.jsp 调用业务调用业务bean中的方法实现用户登录验证中的方法实现用户登录验证获得用户提交数据,并为属性赋值获得用户提交数据,并为属性赋值根据返回结果,进行跳转根据返回结果,进行跳转创建创建JavaBean实例化对象实例化对象第22页/共31页第二十二页,编辑于星期六:九点 四十四分。23saveUserRegister.jsp 0) % 调用业务调用业务bean中的方法实现用户注册中的方法实现用户注册获得用户提交数据,并为属性赋值获得用户提交数据,并为属性赋值根据返回结果,进行跳转根据返回结果,进行跳转JSP标准动作,转发到标准动作,转发
19、到page属性指定的页面,等价属性指定的页面,等价与与RequestDispatcher对象的对象的forward(request,response)方法方法创建创建JavaBean实例化对象实例化对象第23页/共31页第二十三页,编辑于星期六:九点 四十四分。24Model I介绍Model IModel I设计模式设计模式JSP+JavaBean(View + Model)Model IModel I和和Model IIModel II的对比的对比Model II即MVC设计模式Model I缺少控制器(Controller),不易维护和扩展Model I适用于开发中、小型项目第24页/共
20、31页第二十四页,编辑于星期六:九点 四十四分。25设计模式的定义什么是设计模式什么是设计模式是一套被反复使用、多数人知晓的、代码设计经验的总结模式必须是典型问题(不是个别问题)的解决方案设计模式的作用设计模式的作用解决一类问题的成功经验是为了可重用代码、让代码更容易被他人理解、保证代码可靠性第25页/共31页第二十五页,编辑于星期六:九点 四十四分。26MVC设计模式MVCMVC设计模式设计模式模型 - Model视图 - View控制器 - ControllerMVC 模式模式控制器控制器模型模型视图视图JavaBeanJSPServlet2种流行的编程方式:JSP+JavaBeanJSP+Servlet+JavaBean第26页/共31页第二十六页,编辑于星期六:九点 四十四分。27MVC设计模式模型:代表应用程序状态和业务逻辑模型:代表应用程序状态和业务逻辑 控制器:根据客户的请求来操纵模型,并把结果经由视图展现给客户控制器:根据客户的请求来操纵模型,并把结果经由视图展现给
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 骨科患者心理护理的培训与教育
- 贵州省毕节地区大街乡大街中学2025-2026学年初三第二次联合考试数学试题试卷含解析
- 山东省济宁院附中2026年初三6月模拟考物理试题含解析
- 2026年山东省泰安市高新区初三4月期中考试物理试题含解析
- 车身护理与汽车保养的关系
- 江苏省宜兴市周铁区2025-2026学年初三学年3.7网络模拟考试物理试题含解析
- 潮安龙湖中学2026年初三二模考试数学试题含解析
- 福建省郊尾、枫亭五校教研小片区市级名校2026届初三下学期期中考试物理试题文试题含解析
- 江苏省溧水区2026届初三下学期精英对抗赛数学试题含解析
- 脑栓塞的康复职业治疗
- 2026四川成都市金牛国投人力资源服务有限公司招聘金牛区街区规划师8人考试参考试题及答案解析
- 中国电气装备招聘笔试题库2024
- 永磁直线同步电机低速负载性能(中英文对照)
- TDT 1083-2023 国土调查数据库更新数据规范
- 综合实践 奇妙的绳结
- 学校食品安全主要负责人、食品安全总监、食品安全员及食堂负责人职责
- 管理会计学 第10版 课件 第5章 经营决策
- 2024年海南省农垦投资控股集团招聘笔试参考题库含答案解析
- 日用品采购服务投标方案(技术标)
- GB/T 4798.3-2023环境条件分类环境参数组分类及其严酷程度分级第3部分:有气候防护场所固定使用
- GB/T 40058-2021全国固定资产投资项目代码编码规范
评论
0/150
提交评论