• JSP:Javabean


           起初,JavaBean的目的是为了将可以重复使用的代码进行打包,在传统的应用中,JavaBean主要用于实现一些可视化界面,如一个窗体、按钮、文本框等,这样的JavaBean称之可视化的JavaBean

         随着技术的不断发展与项目的需求,目前JavaBean主要用于实现一此业务逻辑或封装一些业务对象,由于这样的JavaBean并没有可视化的界面,所以又称之为非可视化的JavaBean

          可视化的JavaBean一般应用于Swing的程序中,在Java Web开发中并不会采用,而是使用非可视化的JavaBean,实现一此业务逻辑或封装一些业务对象,下面就通过实例来了解一下非可视化的JavaBean

    JavaBean 有广义的和狭义的两种概念。

    广义的  JavaBean  是指普通的  Java  类;

    狭义的JavaBean 是指严格按照 JavaBean 规范编写的 Java 类

    使用JavaBean的好处:

    可以使得JSP页面变得清晰;

    节省软件开发时间(可以直接使用已经测试和可信的已有组件,避免了重复开发);

    降低系统维护的难度

    为JSP应用带来了更多的可伸缩性,使系统变得健壮和灵活。

    JavaBean的分类

    可视的JavaBean:传统的JavaBean应用于可视化界面(如java图形界面中使用的按钮、文本框或列表框等)。

    非可视化JavaBean:封装逻辑、封装数据,与JSP搭配使用。

    JavaBean有以下特征(编写规范):

    JavaBean是一个public

    一定使用了package语句进行打包,并且声明的打包路径非sun公司声明使用的路径。

    有一个无参数的构造方法

    属性一般是私有的(即用private修饰),以保证数据的完整性和封装性

    对属性值的获取有相应的getXxx()方法,并且此方法是公有的(即用public修饰)若要获取的属性为boolean类型则可以使用isXxx()方法

    对属性值的设置有相应的setXxx()方法,并且此方法也是公有的(即用public修饰)

    package bean;

    public class SimpleBean{

      private String name;

      private int number;

      public SimpleBean(){   }

      public void setName(String name){

    this.name = name;

    }

    public void setNumber(int number){

    this.number = number;

    }

    public String getName(){

    return name;

    }

    public int getNumber(){

    return number;

    }

    }

    编写JavaBean时,需要将其放入某个包中,这样才能被JSP页面访问到

    保存JavaBeanJavaB

    1:一个JavaBean编写完以后,需要将它编译成“.class”文件。

    第2:并将此“.class”文件放到本次应用的WEB-INF\classes目录之下,并且需要根据Bean的包名,在classes下再建立相应的子目录。

    例如package ch7.test     则该bean.class文件需要放置在“WEB-INF\classes\ch7\test”

    使用JavaBean

    1步:在 JSP页面中通过import指令引入bean

    格式<%@ page import=”ch7.test.*”%>

    2步:通过useBean标记来创建bean对象

    格式

    <jsp:useBean id=”bean_name” class=”创建bean的类” scope=”bean的有效范围“> jsp:useBean>

      id=”bean_name” class=”创建bean的类” scope=”bean的有效范围” />

    其中:1.创建bean的类要带有完整的包名,如ch7.test.Circle

    2.scope表示bean的取值范围,可取page,session,requestapplication,代表不同的作用范围。

    m JavaBean 的范围设为 page 时,表示这个 JavaBean 的生命周期只在一个 页面内 有效。
    m JavaBean 的范围设为 request 时,这个 Bean 整个请求的范围内 都有效。
    m JavaBean 的范围设为 session 时,表示 Bean 可以在当前 HTTP 会话的生命周期 内被所有页面访问。
    m 设为 application 范围内的 Bean 生命周期是 最长的 ,从创建了这个 Bean 开始,就可以在任何使用相同 application JSP 文件中使用这个 Bean

    3步,在jsp页面中,可以通过直接调用bean的方法来获取和修改bean的属性值,还可以通过jsp动作标记来获取和修改bean的属性。

    直接调用bean的方法:girl.setradius(100)等。

    动作标签方法:<jsp:getProperty><jsp:setProperty>

    m 一个 JavaBean 编写完以后,需要将它编译成“ .class” 文件,并将此“ .class” 文件 ( 连同其目录 ) 放到本次应用的WEB-INF\classes目录之下。 JSP 中使用 JavaBean的标签
    m JavaBean 的标签主要有三个:
    m
    m < jsp:useBean > 标签:在网页中创建一个 Bean 对象
    m
    m < jsp:setProperty > 标签:用于为 Bean 对象 中的属性赋值
    m
    m < jsp:getProperty > 标签:用于获取 Bean 对象中 属性的值
    m < jsp:useBean > 标签用来创建一个 Bean 对象,其语法为:

        <jsp:useBean id=“beanname” class=“package.class” [scope=“page|request|session|application”] />

    m 创建了“ package.class 类的一个对象,对象的名字是“ beanname
    m scope 的值指定了 该对象 作用范围,可能的取值有 4 个: page request session application
    m
    m 例: < jsp:useBean id=" myBean " scope="request" class=" bean.SampleBean"/>
    m < jsp:setProperty > 标签用来设置 Bean 对象的属性。其语法有多种:

    (1). <jsp:setProperty name=“beanName

      property=“propertyName

      value=“propertyValue” />

      用来为bean的属性赋值

        其中name指出是在操作哪个beanproperty指出对该bean的哪个属性赋值,value用来指定给属性赋的值。

       例:<jsp:setProperty name="myBean"   property="sample" value="HelloJSP"/>

    m (2). < jsp:setProperty name=“ beanName

            property=“propertyName

            param=“paramName” />

    m form 表单中参数的名字和 Bean 中属性名不相同时, 这种用法表示将一个传入参数的值赋给 bean 的某个属性。
    m 其中 name 指出是在操作哪个 bean property 指出对该 bean 的哪个属性赋值,而 param表示传入参数的名字。
    m < jsp:getProperty > 标签用来获取 Bean 对象的属性值,并显示在页面上,其语法如下:

      <jsp:getProperty name=“beanname

      property=“propertyname” />

      name指出了要获取哪个bean的属性值,

       property指出要获取该bean的哪个属性值

    例:<jsp:getProperty name="myBean" property="sample"/>

    m < jsp:useBean id=“ beanname ” class=“ package.class ” [scope=“ page|request|session|application ”] />

        class的值要与bean的类名相同id作为对象名,可任取

    m < jsp:getProperty name=“ beanname”property =“ propertyname ” />

      中name的值要与useBean中的id的值相同propertyname要与bean的属性名相同

    m
    m   < jsp:setProperty name=“ beanName

        property=“propertyName” value=“propertyValue” />中的name的值要与useBean中的id的值相同,propertyname要与bean的属性名相同。

    m < jsp:setProperty name=“ beanName

        property=“propertyName”/>中,form表单中的参数名、 propertyNamebean中属性名三者要相同

    m < jsp:setProperty name=“ beanName ”, property=“ propertyName ” param=“ paramName ”/> propertyName bean 中属性名要相同 , paramName 要和 form 表单中属性名相同
    m

    mJavaBean的范围
    m 范围有四种: page request session application
    m 例: < jsp:useBean id=" logBean " scope="page" class=“ mypack.LogBean " />
    m JavaBean 的范围设为 page 时,表示这个 JavaBean 的生命周期只在一个页面内有效。
    m JavaBean 的范围设为 request 时,这个 Bean 在整个请求的范围内都有效。
    m JavaBean 的范围设为 session 时,表示 Bean 可以在当前 HTTP 会话的生命周期内被所有页面访问。
    m 设为 application 范围内的 Bean 生命周期是最长的,从创建了这个 Bean 开始,就可以在任何使用相同 application JSP 文件中使用这个 Bean

    7.2 JavaBean的应用

  • 相关阅读:
    015 Linux 标准输入输出、重定向、管道和后台启动进程命令
    图片怎么批量重命名从1到50?
    .skip() 和 .only() 的使用
    【谷粒商城 - k8s、devOps专栏】
    Qt之qobject_cast实现
    使用Docker Nginx部署vue项目
    邮件模板设计要注意哪些事项
    npm 操作报错记录1- uninstall 卸载失效
    银行转账p图在线制作生成,回执单凭证,工商农业邮政建设,易语言画板!
    sqlmap语法介绍
  • 原文地址:https://blog.csdn.net/weixin_65589140/article/details/134564607