javaBean

作者: exmexm | 来源:发表于2017-05-21 22:51 被阅读0次

    JavaBean是一种可重复使用、且跨平台的软件组件。
    JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;
    还有一种是没有用户界面的,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后面一种JavaBean。

    MVC设计模式:(model view controller)
    【模型视图控制器】

    JavaBean的特征:
    ——JavaBean是一个公共类
    ——JavaBean有一个不带参数的构造方法
    ——通过setter和getter分别来设置和获取属性值。

    这样子可以成功地通过反射来调用JavaBean的方法。

    jsp访问JavaBean的语法:
    1、导入JavaBean类
    <%@page import="mypackage.counterBean"%>
    2、声明JavaBean的对象
    <jsp:useBean id="myBean" class="mypackage.counterBean" scope="session"></jsp:useBean>

    也可以直接用java代码:
    <%counterBean myBean = new counterBean();%>

    3、访问JavaBean的对象
    把JavaBean count属性输出到屏幕中,注意name要和声明JavaBean对象的id一致。
    <jsp:getProperty name="myBean" proerty="count"/>
    同理用java代码:
    <%=myBean.geCount()%>

    4、可以通过下面语句把JavaBean的count属性赋值
    <jsp:setProperty name="myBean" property="count" value="0"/>
    <%information.setCount(0);%>
    和getProerty的不同是多了value的值。
    value后面的字符串会被编译器自动转换成目标需要的类型。
    动态赋值时可以用param,但是param与value不可以共存。param的赋值其实是由请求的数据赋值的。
    假定前一个页面request传来HelloWorld=50,
    param=“HelloWorld”等价request.getParameter(“HelloWorld”);
    <jsp:getProperty name="Person" property="age" param="HelloWorld"/>
    会打印50、

    JavaBean的属性以及用法:
    id = "beanInstanceName
    在所定义的范围中确认Bean的变量,使之能在后面的程序中使用此变量名来分辨不同的Bean,这个变量名也是对大小写敏感的,必须符合所使用的脚本语言的规定。

    如果Bean已经在别的<jsp:useBean>中已经创建,则当使用这个已经创建过的Bean时,id的值必须相等,否则意味着创建了同一个类的两个不同对象。

    Scope属性决定了JavaBean对象的存在范围。scope的可选值包括:

    ——page(默认值,当前页面)
    客户每次请求jsp页面时,都会创建新的JavaBean对象。
    即一下两种情况都会结束生命期:
    客户请求访问的当前的jsp网页通过forward标记请求转发到另外一个文件;
    客户请求访问的当前jsp页面执行完毕后并向客户端发回响应。

    ——request(可以被转发到下一个页面)
    客户每次请求jsp页面时,都会创建新的JavaBean对象。
    有效范围:(1)客户请求访问的当前页面
    (2)和当前jsp页面共享同一个客户请求的网页,即当前jsp网页中%@include指令和<forward>标记包含的其他jsp文件
    结束生命周期:当所有共享同一个客户请求的jsp页面执行完毕并向客户端发回响应时结束。
    假设在jsp1页面:<jsp:userBean id="person" class="www.Person" scope="request"/>
    jsp2可以通过getAttribute来获取javaBean对象:

    out.print(p.getAge())%>```
    
    ——session
    JavaBean对象被创建后,它存在于整个Session的生命周期内,同一个Session中的JSP文件共享这个JavaBean对象。
    JavaBean对象作为属性保存到HttpSession对象中,属性名为JavaBean的id,属性值为JavaBean对象。除了可以通过JavaBean的id引用JavaBean对象外,也可以通过HttpSession.getAttribute()方法取得JavaBean对象,例如:
    ```Person p = (Person)session.getAttribute("person");```
    
    ——application
    JavaBean对象被创建后,它存在于整个WEb应用的生命周期内,Web应用中的所有jsp文件都能共享同一个JavaBean对象。
    和其他的scope值一样,也是有两种访问方式,一种是根据JavaBean的id或者用方法(Person)application.getAttribute("person")来访问JavaBean对象。
    
    *记得把对象强制转换*
    
    记住JavaBean必须遵守特定的规范,比如Person的age属性,必须提供getCount()和setCount()方法,而不能随心所欲定义其他如insertcount()等其他名字的原因是:
    >当所有JavaBean遵守相同额规范,<jsp:getProperty>和<jsp:setProperty>标记就能够自动根据JavaBean的属性来推断出它的get和set方法。
    
    
    

    相关文章

      网友评论

          本文标题:javaBean

          本文链接:https://www.haomeiwen.com/subject/boilxxtx.html