欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

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

    • 资源ID:70793423       资源大小:292.02KB        全文页数:21页
    • 资源格式: PPTX        下载积分:11.9金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要11.9金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

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

    4.4 在JSP页面中使用JavaBeanJSP动作指令4.4.1 JavaBean概述概述uSun公司将JavaBean定义为可以复用的软件可以复用的软件组件组件,它在遵循JavaBean技术规范的基础上提供特定的功能,这些功能模块可以组合成更大规模的应用系统。uJavaBean是Java中的一个组件技术,类似于微软的COM组件组件,其本质是一个封装了一封装了一系列属性和方法的类系列属性和方法的类。u在JSP中使用JavaBean具有以下好处:可实现代码的重复利用。易编写,易维护,易使用。JavaBean的种类的种类u可视化可视化JavaBean:即带有界面的类,如文本框、下拉列表框等。u非可视化非可视化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.name=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(),对应的设置方法为setA()。nJavaBean类必须有一个无参公共构造器,以便JSP引擎调用来实例化类对象。nJavaBean组件可以实现序列化。序列化序列化JavaBeanu通过将数据库中的表与JavaBean组件形成映射关系可以JavaBean组件的持久化。但由于关系型数据库与面向对象机制不同,为了方便存储JavaBean的某时状态,JavaBean规范提供了序列化机制来通过文件系统存储JavaBean快照。u序列化分为:序列化和反序列化。序列化是将对象数据分解成字节流,写入字节流,以便存储在文件中。反序列化是打开字节流,从字节流中读取对象并重构对象。uJavaBean组件序列化只需实现接口实现接口即可,不需要在类中增加任何代码。4.4.2 在在JSP使用使用JavaBeanJSP动作指令描述声明、实例化和初始化JavaBean设置JavaBean实例的属性值获取JavaBean实例的属性值在JSP中使用JavaBean的优势1)动作动作u动作用于在JSP页面中创建一个JavaBean实例,并指定其实名称及作用范围。这个动作首先在指定的作用域中查找是否存在指定的JavaBean实例,如果不存在,则创建一个指定名称的JavaBean实例。u动作的语法格式如下:lid属性用于指定JavaBean实例变量的名称。l该值必须指定,且在指定作用域内必须惟一。l该值将被和动作使用。lscope属性表示此JavaBean实例的作用范围。class、type和beanName是类型规范class、type和和beanName属性属性uclass属性用于指定JavaBean的类名。该属性意味着在创建JavaBean实例时,通过调用指定类的公共无参构造器生成对象实例。因此class属性指定的类不能是一个抽象类,且必须有公共无参构造器。utype属性用于指定id属性的变量类型。该属性指JavaBean实例变量的数据类型,可以是JavaBean类本身,也可以是JavaBean类的父类或JavaBean类所实现的接口。如果没有指定该属性,则默认为类变量指定的类型。如果不匹配,就会抛出一个ClassCastException异常。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_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:只使用:只使用type属性属性org.nls.User user=null;user=(org.nls.User)_jspx_page_context.getAttribute(user,javax.servlet.jsp.PageContext.PAGE_SCOPE);if(user=null)throw new java.lang.InstantiationException(bean user not found within scope);示例示例3:使用:使用type和和class属性属性org.nls.User user=null;user=(org.nls.User)_jspx_page_context.getAttribute(user,javax.servlet.jsp.PageContext.PAGE_SCOPE);if(user=null)user=new org.nls.User();_jspx_page_context.setAttribute(user,user,javax.servlet.jsp.PageContext.PAGE_SCOPE);org.nls.User user=null;user=(org.nls.User)_jspx_page_context.getAttribute(user,javax.servlet.jsp.PageContext.PAGE_SCOPE);if(user=null)user=new org.nls.VipUser();_jspx_page_context.setAttribute(user,user,javax.servlet.jsp.PageContext.PAGE_SCOPE);示例示例4:使用:使用type和和beanName属性属性org.nls.User user=null;user=(org.nls.User)_jspx_page_context.getAttribute(user,javax.servlet.jsp.PageContext.PAGE_SCOPE);if(user=null)try user=(org.nls.User)java.beans.Beans.instantiate(this.getClass().getClassLoader(),org.nls.User);catch(java.lang.ClassNotFoundException exc)throw new InstantiationException(exc.getMessage();catch(java.lang.Exception exc)throw new javax.servlet.ServletException(Cannot create bean of class +org.nls.User,exc);_jspx_page_context.setAttribute(user,user,javax.servlet.jsp.PageContext.PAGE_SCOPE);注意:不能同时指定class和beanName属性JSP中的四种作用域中的四种作用域作用范围对应的对象说明page(默认)pageContextBean只能在使用页面时使用,当加载新页面时,就会立即销毁。requestrequestBean在用户对其发出请求时存在。sessionsessionBean存于整个会话期间。applicationapplicationBean在整个应用程序中均可使用。2)动作动作u此动作用于给指定的JavaBean对象的属性赋值。语法格式如下:name:指JavaBean实例对象的名称。l对应动作中定义的id属性。property:指明要赋值的属性名称。lJSP容器会调用与属性相匹配的setXxx()方法来设值。l如果值为*,意味着可以对所有属性一次性赋值。value:指要赋于属性的新值。param:用于指定请求参数。【注意注意】:value和和param不能同时使用。不能同时使用。姓名:密码:index2.jspbean2.jspproperty对应JavaBean的属性名value用于设置新值param用于接收请求参数可以通过通配符*将所有请求参数的值赋给对应的JavaBean属性。这要求请求参数的名称与JavaBean的属性名称一一对应。示例一示例一姓名:密码:index2.jspbean2.jsp示例二示例二u如果value和和param都没有指定都没有指定,JSP容器会自动寻找自动寻找请求参数中与JavaBean属性相匹配的参数来设值。3)动作动作u此动作用于获取指定JavaBean对象的属性值。语法格式如下:name:指明JavaBean实例对象的名称。l对应动作中定义的id属性。property:指明要获取的实例对象的属性名称。姓名:年龄:爱好:运动 阅读 音乐 name:age:hobby:index3.jspbean3.jsp4)JavaBean中非字符串属性中非字符串属性public class User private String name;private int age;private String hobby;.User.java自动类型转换自动类型转换u请求参数均是以字符串形式存在的,如果JavaBean中的属性是非字符串类型,则必须在使用请求参数前进行类型转换。u以下情况JSP容器会进行自动类型转换:u以下情况不会进行自动类型转换,编译错误:可改写为:jsp:setProperty name=user property=age value=/jsp:setProperty name=user property=age value=/处理索引属性处理索引属性u动作对于索引属性的处理很不理想。在获取索引属性时,的执行效果等价于执行out.print(property-type)方法。hobby:hobby:hobby:4.4.3 JavaBean的部署的部署u所谓部署就是把编译好的JavaBean类文件放在合适的位置上以便在JSP中可以访问这些类文件。uJavaBean类文件的组织方法有两种:一种是单独的class文件文件,一种是把多个class文件打包成一个jar文件文件。如何打包程序为 JAR 文件:JAR文件的格式是ZIP格式的,因此它可以用各种能够处理ZIP文件的工具来进行操作,例如WinZip,WinRAR,PKZIP 等,或者使用JDK自带的JAR工具。u如果部署的class文件或打包后的jar包仅需要在当前的web应用中有效,则只需把class文件放到该应用的/WEB-INF/classes目录下,把jar文件放到该应用的/WEB-INF/lib目录下。

    注意事项

    本文(JSP动作-在JSP中使用JavaBea.pptx)为本站会员(wuy****n92)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开