zoukankan      html  css  js  c++  java
  • javaweb开发之javaBean

    一、JavaBean简介
    JavaBean是使用Java语言开发的一个可重用的组件,在JSP的开发中可以使用JavaBean减少重复代码,使整个JSP代码的开发更简洁。JSP搭配JavaBean来使用,有以下的优点:
    1.可将HTML和Java代码分离,这主要是为了日后维护的方便。如果把所有的程序代码(HTML和Java)写到JSP页面中,会使整个程序代码又多又复杂,造成日后维护上的困难。
    2.可利用JavaBean的优点。将日常用到的程序写成JavaBean组件,当在JSP要使用时,只要调用JavaBean组件来执行用户所要的功能,不用再重复写相同的程序,这样以来也可以节省开发所需的时间。


    二、JavaBean开发要求
    1.JavaBean本身就是一个类,属于Java的面向对象编程。
    2.在JSP中如果要应用JSP提供的Javabean的标签来操作简单类的话,则此类必须满足如下的开发要求:
    (1)所有的类必须放在一个包中,在WEB中没有包的是不存在的;
    (2)所有的类必须声明为public class,这样才能够被外部所访问;
    (3)类中所有的属性都必须封装,即:使用private声明;
    (4)封装的属性如果需要被外部所操作,则必须编写对应的setter、getter方法;
    (5)一个JavaBean中至少存在一个无参构造方法,此为JSP中的标签所使用。 


    三、javaBean的声明使用
    (1)通过导入相应的包文件,并进行类初始化来声明javaBean
    <%@ page import="javaBean所在的包"%>
    <%  
        SimpleBean simple = new SimpleBean();    //声明并实例化SimpleBean对象  
        simple.setName("jack");                 //设置name属性  
        simple.setAge(23);                       //设置age属性  
    %>   


    (2)通过jsp的useBean命令来实现。格式如下:
    <jsp:useBean id="实例化对象名称" scope=“保存范围” class=“包.类名称“/>
    <jsp:useBean id="simple" scope="page" class="javaBean的包名"/>
    <%  
        simple.setName("Joywy");  
        simple.setAge(23);  
    %> 
    在使用<jsp:useBean/>指令时,实际上会默认调用SimpleBean类中的无参构造方法进行对象实例化,当修改SimpleBean.java文件后,如果要想让其起作用,则需要重新启动服务器,我们可以通过在Tomcat中直接配置自动加载的操作,这样即使不重新启动服务器,JavaBean修改后也可以被立即加载进来。需要配置相关的xml文件。<jsp:useBean>的语法实际上属于反射机制的操作实现。


    四、javaBean的属性获取和设置
    (1)通过getter和setter方法来实现属性操作
    <%  
        simple.setName("Joywy");  
        simple.setAge(23);  
    %> 
    (2)通过<jsp:getProperty name="javaBean的名称"  property="javaBean的属性名称"/>和<jsp:setProperty name="javaBean的实例名称" property="javaBean的属性名称" value="属性值"/>实现属性的获取和赋值。
    推荐使用第二种,通常我们应尽力避免在jsp页面中使用java代码
    (3)有时我们将表单提交的数据封装为一个javaBean,在进行表单提交时可以进行javaBean的属性赋值。推荐把表单提交的参数名name和javaBean的属性名保持对应,这样我们可以用一条语句实现表单数据的全部赋值。
    <jsp:setProperty name="javaBean实例名称"  property="*"/>

    也可以使用

    <jsp:setProperty name="javaBean实例名称"  property="javaBean的属性名"  param="request中的请求参数名"/>来一一赋值。注意到param是利用request请求参数进行javaBean的赋值,而value是直接对javaBean进行赋值。

    以上还是通过反射完成的操作。在反射机制中可以通过getMethod()方法取得一个指定名称方法的Method对象,在这里传入的是属性的名称,可以根据属性名称找到对应的setter()方法,完成属性内容的设置。

    五、删除JavaBean:
    JavaBean虽然使用了<jsp:useBean>标签进行创建,但是其操作依靠的仍然是四种属性范围。如果一个JavaBean不再使用的话,则可以直接使用四种属性范围的removeAttribute()方法进行删除。
    1.删除page范围的JavaBean可以使用:
    pageContext.removeAttribute(JavaBean名称);
    2.删除request范围的JavaBean可以使用:
    request.removeAttribute(JavaBean名称);
    3.删除session范围的JavaBean可以使用:
    session.removeAttribute(JavaBean名称);
    4.删除application范围的JavaBean可以使用:
    application.removeAttribute(JavaBean名称);
  • 相关阅读:
    2019中国爱分析数据智能高峰论坛(北京)
    GIEC2019第六届全球互联网经济大会北京站震撼来袭!
    iDigital2019数字营销广告主峰会
    DOIS 2019 DevOps国际峰会北京站来袭~
    QCon2019全球软件开发大会广州站即将来袭
    DTCC2019第十届中国数据库技术大会将于5月在北京召开
    2019第十四届中国竞争情报国际年会将于4月在上海召开
    第十二届GOPS全球运维大会2019深圳站即将开幕
    MTSC2019第五届中国移动互联网测试开发大会北京站震撼来袭!
    第八节:分支开发之合并到master
  • 原文地址:https://www.cnblogs.com/kangsir/p/6653272.html
Copyright © 2011-2022 走看看