• JavaBean--简介及基本使用


    JavaBean本身就是一个类,属于java的面向对象编程

    JavaBean是使用java语言开发的一个可重用的组建,在JSP开发中如果要应用JSP提供的JavaBean标签来操作简单的类的话,需要满足如下的开发要求:

    1. 所有的类必须放在一个包中,在web中没有包是不存在的。

    2. 所有的类必须声明为public class,这样才能被外界访问。

    3. 类中所有的属性都必须封装,即:使用private声明

    4. 封装的属性如果需要被外部所操作,必须编写对应的setter,getter方法

    5. 一个JavaBean中至少存在一个无参构造方法,为jsp中的标签使用

    使用JavaBean的两种方法:

    1. <%@ page import="cn.mldn.lxh.demo.*"%>

    2. <jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/>

    举例 SimpleBean.java:

    package cn.mldn.lxh.demo ;
    public class SimpleBean {
        private String name ;
        private int age ;
        /*
        public SimpleBean(){
            System.out.println("============ 一个新的实例化对象产生 ===========") ;
        }
        */
        public void setName(String name){
            this.name = name ;
        }
        public void setAge(int age){
            this.age = age ;
        }
        public String getName(){
            return this.name ;
        }
        public int getAge(){
            return this.age ;
        }
    }

    对于这样的简单的JavaBean也有几个名词:

    VO: 值对象,存放所有的传递数据的操作上

    POJO:简单的java对象

    TO:传输对象,一个类必须实现Serializable接口后才称为传输对象。

    JavaBean本身是一个java文件,需要编译成.class文件才可以解释,放在哪里呢?

    web开发的标准目录结构:

    WEB ROOT

     -WEB-INF

      --web.xml

      --lib:相当于一个默认的classpath

          --classes:相当于一个默认的classpath

      --tags

    -jsp

    -js

    -css

    -images:图片

    -index.jsp:首页,在web.xml里配置

    使用JavaBean的例子1:使用  <%@ page import="cn.mldn.lxh.demo.*"%>

    <%@ page contentType="text/html" pageEncoding="GBK"%>
    <%@ page import="cn.mldn.lxh.demo.*"%>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <body>
    <%
        SimpleBean simple = new SimpleBean() ;
        simple.setName("李兴华") ;
        simple.setAge(30) ;
    %>
    <h3>姓名:<%=simple.getName()%></h3>
    <h3>年龄:<%=simple.getAge()%></h3>
    </body>
    </html>

    此时可以访问。

    还有第二种方法,使用专门提供的JSP标签完成操作,在整个JavaBean里提供了一个useBean。

    <jsp:useBean id="实例化对象名称" scope=“保存范围” class=“包.类名称”/>

    scope:page,request,session,application

    <%@ page contentType="text/html" pageEncoding="GBK"%>
    <jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/>
    <html>
    <head><title>www.mldnjava.cn,MLDN高端Java培训</title></head>
    <body>
    <%
        simple.setName("李兴华") ;
        simple.setAge(30) ;
    %>
    <h3>姓名:<%=simple.getName()%></h3>
    <h3>年龄:<%=simple.getAge()%></h3>
    </body>
    </html>

    实际上在使用上面标签的时候,都会自动调用JavaBean中的无参构造方法,则要求在一个JavaBean中如果需要通过JSP标签调用的话,需要一个无参构造方法:

    JavaBean修改之后,服务器一定要重新启动,只有重启后才能将新的配置加载进来。

    每次这样处理很麻烦,tomcaqt中提供了自动的加载机制。通过server.xml文件进行配置reloadable:

    <Context path="/wly" docBase="D:Workspace"  reloadable="true">

    这样的话,tomcat会自动进行检测,如果JavaBean修改之后会自动重新加载。

    JavaBean的内容都输出在服务器信息里。

    但是有两点需要注意:

    1. reloadable一直处于监视状态,所以在服务器真正用于项目运行的时候,此属性设置成false,否则性能下降

    2. 每次进行完reload后,之前所设置的全部session范围的属性将彻底消失

    JavaBean到底是什么原理?为什么通过一个标签就可以完成对象实例化呢?

    <jsp:useBean id="simple" scope="page" class="cn.mldn.lxh.demo.SimpleBean"/>

    按照以前学的反射机制,现在存在包.类名称,所以肯定能进行实例化,而且这个时候,类中还有无参构造方法,那么就更加明确,肯定是通过反射机制进行对象的实例化操作。

  • 相关阅读:
    世界上最遥远的距离(泰戈尔)
    肩周炎?
    [转]C#基础概念二十五问
    [转]ASP.NET 2.0的缓存技术简介
    SQL Server 2005下的分页SQL
    [转]基本的缓存类操作封装(抽象类)
    GridView鼠标经过行变色
    推荐一个好用的.NET2.0下的发送EMail的库
    Data Access Application Block for .NET
    Pet Shop 4.0的缓存机制
  • 原文地址:https://www.cnblogs.com/wujixing/p/4953653.html
Copyright © 2020-2023  润新知