




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第第五五章章JSPJSP标准动作标准动作2预习检查什么是什么是JavaBean?在在JSP中如何使用中如何使用JavaBean?3掌握掌握JavaBean的概念的概念会使用会使用JSP标准动作标准动作掌握常用的动作掌握常用的动作本章目标JavaBean最早由最早由SUN公司提出规范,代表可重复运用的组公司提出规范,代表可重复运用的组件,来自于件,来自于Delphi、VB中空间思想但是又与众不中空间思想但是又与众不同。同。从可视化组件到非可视组件的概念应用从可视化组件到非可视组件的概念应用MVC技术中的技术中的Model实现者实现者具有明确的规范要求具有明确的规范要求4规范中定义特点1.实现实现
2、java.io.Serializable接口接口2.提供无参数的构造器提供无参数的构造器3.提供提供get和和set方法访问它的方法访问它的属性属性4、命名规范性、命名规范性56封装数据的JavaBeanpublic class User private String name;/ 用户名用户名 private String passwd;/ 密码密码 public User() public void setName(String name) this. name = name; public String getName() return name; /其它属性的其它属性的setter、g
3、etter方法方法JavaBean - User.java将属性声明为私有属性将属性声明为私有属性无参的公有构造方法无参的公有构造方法公有的设置属性值方法公有的设置属性值方法setXxx( )公有的获取属性值方法公有的获取属性值方法getXxx( )7创建JavaBean 使用Eclipse工具自动生成getter/setter方法JavaBean与JSP广义讲广义讲,符合规范的符合规范的Java类都类都是是JavaBeanJavaBean的作用的作用封装数据处理业务逻辑JSP与与JavaBean如何结合使用呢?如何结合使用呢?Scriptlet JSP标准动作 /89为什么需要JSP标准动作
4、通过Java 脚本使用后台JavaBean美工难以维护使用JSP标准动作JSP标准动作包括:JSP 标准动作标准动作10JSP 标准动作JSP 标准动作包括:JSP 标准动作标准动作11useBean 动作.useBean动作创建或者获得一个对象JavaBean 的scope设置 :创建对象的名称创建对象的名称创建对象的类型创建对象的类型指定对象的范围指定对象的范围范围范围说明说明pageBean 对象只能在当前页面使用,当加载新页面时就会被销毁requestBean对象在一个请求过程中存在sessionBean对象在一个会话中存在,直至会话其终止或被删除为止applicationBean对象
5、在整个应用程序中均可使用12setProperty和getProperty动作.value设置设置 JavaBean 的该属性值的该属性值property指定指定 JavaBean 的属性名称的属性名称 设置JavaBean的属性值 获取JavaBean中属性的值.name 属性指定对属性指定对 JavaBean 类类的引用,与的引用,与useBean中的中的id一致一致property指定指定 JavaBean 的属性名称的属性名称name 属性指定对属性指定对 JavaBean 类的引用类的引用13JSP标准动作示例使用使用JSP标准动作显示数据标准动作显示数据 - processorde
6、r.jsp jsp:setProperty name=order property=userName value=/ /设置其它属性值设置其它属性值 用户名:用户名: . 邮编:邮编: . 电电 话:话: . 信用卡:信用卡: . 总价:总价: . 获得属性值,并显示在页面上获得属性值,并显示在页面上获得用户提交数据,并为属性赋值获得用户提交数据,并为属性赋值14param的使用使用使用param显示数据显示数据 - processorder.jsp /设置其它属性值设置其它属性值用户名:用户名: . /显示显示order对象其它属性值对象其它属性值姓姓 名名: .总总 价价: . 获得用户提
7、交数据获得用户提交数据获得属性值,并显示在页面上获得属性值,并显示在页面上自动转换数据类型自动转换数据类型15现场编程请使用JSP标准动作创建一JavaBean对象,并对该对象的属性进行赋值类所在的包和类名:com.entity.Users类的属性userName,password16常见错误 要与表单元素名称对应要与表单元素名称对应数据显示为数据显示为null17常见错误 应该是应该是userName这是什么错误?这是什么错误?在在Order中没有找到属性中没有找到属性userName2属性名称错误属性名称错误18常见错误 应该是应该是“order”,要与,要与useBean中的中的id一致
8、一致引用名称错误引用名称错误这是什么错误?这是什么错误?19JSP标准动作调用JavaBean JSP标准动作与JavaBean的getter、setter方法public class Simplebean private String name; private int age; public Simplebean() /无参的构造函数无参的构造函数System.out.println(调用无参构造方法,创建实例调用无参构造方法,创建实例!); public String getName() /属性的属性的getter方法方法System.out.println(调用了调用了getName(
9、)方法,获取方法,获取name值值);return name; public void setName(String username) /属性的属性的setter方法方法name = username;System.out.println(调用了调用了setName()方法,设置方法,设置name值值); SimpleBean.java方法是谁调用的?方法是谁调用的?在在 JSP 中使用中使用 JavaBean 姓名:姓名: 年龄:年龄:setProperty动作调用动作调用JavaBean的的setter方法方法getProperty动作调用动作调用JavaBean的的getter方法方法
10、20使用标准动作实现登录验证public boolean getValid() Connection con = ConnectionManager.getConnection(); PreparedStatement pStatement = null; String sql = select * from userinfo where loginname = ?; try pStatement = con.prepareStatement(sql); pStatement.setString(1, getName(); ResultSet rs = pStatement.executeQu
11、ery(); if (rs.next() & rs.getString(password).equals(getPassword() valid = true; else valid = false; catch (Exception ex) ex.printStackTrace(); return valid;UserManager.java判断是否存在该用户判断是否存在该用户演示示例演示示例2: UserManager.java 登录验证21标准动作和JavaBean使用JSP标准动作和JavaBean进行数据验证 创建创建UserManager对象,并为属性赋值对象,并为属性赋值
12、调用验证方法,判断用户是否存在调用验证方法,判断用户是否存在JSP标准动作,转发到标准动作,转发到page属性指定的页面,等价属性指定的页面,等价与与RequestDispatcher对象的对象的forward(req,res)方法方法根据结果,转发到相应页面根据结果,转发到相应页面register.jsp22Model I介绍Model I设计模式JSP+JavaBean(View + Model)Model I和Model II的对比Model II即MVC设计模式Model I缺少控制器(Controller),不易维护和扩展Model I适用于开发中、小型项目23自定义标签是遵循 格式
13、的标准 HTML 标签嵌入 Java 代码标签处理程序文件前缀自定义标签什么是自定义标签? 24示例显示一个加法的示例显示一个加法的示例显示一个欢迎的示例显示一个欢迎的示例25JSP自定义标签的优点分离了程序逻辑和表示逻辑分离了程序逻辑和表示逻辑将将Java代码从代码从HTML中剥离,便于美工维护页面中剥离,便于美工维护页面减少了减少了JSP页面中的脚本,减少了维护成本页面中的脚本,减少了维护成本提供了可重用的功能组件提供了可重用的功能组件26JSP 页面应用程序部署描述符标签处理程序的组件标签库描述符标签处理程序标签库27实现方式实现方式实现方式实现方式自定义标签标签处理程序标签文件自定义标签28标签处理程序Java 文件实现或扩展 Tag、IterationTag 或 BodyTag 接口定义 doStartTag() 方法通过调用 release() 方法取消引用标签处理程序实例需要标签库描述符来实现标签处理程序29基本的标签生命周期 doStartTag()返回值setbodyContent()dolnitBody()doAfterBody()返回值doEndTag()releas
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 展览执行合同协议
- 市场推广协议合同
- 有担保人的土地租赁合同8篇
- 学校活动赞助合同协议
- 定制类安装工合同协议
- 定制房产合同协议
- 委托管理协议合同模板
- 家装合同价款调整协议
- 定制家具安装协议合同
- 山庄租房合同协议
- 中国盐业集团有限公司 笔试 内容
- 大模型原理与技术-课件 chap6 大模型微调
- 政府采购评审专家考试题库(完整版)
- 公路工程中浆砌块石挡土墙施工方案
- 零星工程维修 投标方案(技术方案)
- 支气管哮喘治疗
- 钢棚搭建安全合同(2篇)
- 《公路桥梁挂篮设计与施工技术指南》
- 浙江省【高等职业技术教育招生考试】-商业类(电子商务)-职业技能理论知识(一)(答案版)
- 人教版历史2024年第二学期期末考试七年级历史试卷(含答案)
- 中国国新基金管理有限公司招聘笔试题库2024
评论
0/150
提交评论