JSP动作-在JSP中使用JavaBea.pptx





《JSP动作-在JSP中使用JavaBea.pptx》由会员分享,可在线阅读,更多相关《JSP动作-在JSP中使用JavaBea.pptx(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、4.4 在JSP页面中使用JavaBeanJSP动作指令4.4.1 JavaBean概述概述uSun公司将JavaBean定义为可以复用的软件可以复用的软件组件组件,它在遵循JavaBean技术规范的基础上提供特定的功能,这些功能模块可以组合成更大规模的应用系统。uJavaBean是Java中的一个组件技术,类似于微软的COM组件组件,其本质是一个封装了一封装了一系列属性和方法的类系列属性和方法的类。u在JSP中使用JavaBean具有以下好处:可实现代码的重复利用。易编写,易维护,易使用。JavaBean的种类的种类u可视化可视化JavaBean:即带有界面的类,如文本框、下拉列表框等。u非
2、可视化非可视化JavaBean:即没有界面元素的类。这种JavaBean仅仅是在功能上进行封装,从而提供可以重复利用的软件组件,不涉及界面元素的编程。u在JSP程序中所用的JavaBean一般以非可视化为主,可视的JavaBean一般用于编写Applet程序或Java应用程序。JavaBean示示例例public class User private String name;private int age;private boolean isVip;public String getName()return name;public void setName(String name)this.n
3、ame=name;public int getAge()return age;public void setAge(int age)this.age=age;public boolean isVip()return isVip;public void setVip(boolean isVip)this.isVip=isVip;作为JavaBean的类中所有属性都应定义为private,以实现封装。每个属性都应定义getXxx()和setXxx()方法来进行操作,其中Xxx是首字母大写的私有属性的名称。如果某个属性的类型为boolean,属性名为isA,则对应的获取方法为isA(),对应的设置方
4、法为setA()。nJavaBean类必须有一个无参公共构造器,以便JSP引擎调用来实例化类对象。nJavaBean组件可以实现序列化。序列化序列化JavaBeanu通过将数据库中的表与JavaBean组件形成映射关系可以JavaBean组件的持久化。但由于关系型数据库与面向对象机制不同,为了方便存储JavaBean的某时状态,JavaBean规范提供了序列化机制来通过文件系统存储JavaBean快照。u序列化分为:序列化和反序列化。序列化是将对象数据分解成字节流,写入字节流,以便存储在文件中。反序列化是打开字节流,从字节流中读取对象并重构对象。uJavaBean组件序列化只需实现接口实现接口
5、即可,不需要在类中增加任何代码。4.4.2 在在JSP使用使用JavaBeanJSP动作指令描述声明、实例化和初始化JavaBean设置JavaBean实例的属性值获取JavaBean实例的属性值在JSP中使用JavaBean的优势1)动作动作u动作用于在JSP页面中创建一个JavaBean实例,并指定其实名称及作用范围。这个动作首先在指定的作用域中查找是否存在指定的JavaBean实例,如果不存在,则创建一个指定名称的JavaBean实例。u动作的语法格式如下:lid属性用于指定JavaBean实例变量的名称。l该值必须指定,且在指定作用域内必须惟一。l该值将被和动作使用。lscope属性表
6、示此JavaBean实例的作用范围。class、type和beanName是类型规范class、type和和beanName属性属性uclass属性用于指定JavaBean的类名。该属性意味着在创建JavaBean实例时,通过调用指定类的公共无参构造器生成对象实例。因此class属性指定的类不能是一个抽象类,且必须有公共无参构造器。utype属性用于指定id属性的变量类型。该属性指JavaBean实例变量的数据类型,可以是JavaBean类本身,也可以是JavaBean类的父类或JavaBean类所实现的接口。如果没有指定该属性,则默认为类变量指定的类型。如果不匹配,就会抛出一个ClassCa
7、stException异常。ubeanName属性取代class属性以创建JavaBean实例,其值被当作参数传递到java.beans.Beans.instantiate()方法中用以创建对象实例。beanName属性即可以用于指定一个序列化JavaBean,也可以指定一个类。示例示例1:只使用:只使用class属性属性ubean.jsp ubean_jsp.javaorg.nls.User user=null;user=(org.nls.User)_jspx_page_context.getAttribute(user,javax.servlet.jsp.PageContext.PAGE_
8、SCOPE);if(user=null)user=new org.nls.User();_jspx_page_context.setAttribute(user,user,javax.servlet.jsp.PageContext.PAGE_SCOPE);声明一个类型为的对象变量,未指定type属性时类型由class属性决定 该变量指向名为user(由id属性指定)的一个对象实例,该对象在默认范围内有效 如果user对象实例不存在,则使用类的公共无参构造器创建一个的实例,并由user变量引用。ubean.jspubean_jsp.javau如果user对象实例不存在,则会抛出异常。示例示例2:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 动作 使用 JavaBea

限制150内