JSP基础:(5)Javabean与dao

javabean 优点:

            结构简单,适用于开发小型应用程序
            通过Javabean来封装部分重要的商业逻辑运算,不同的JSP页面可以调用许多共享的组件,减少重复开发

        缺点:

            缺乏流程控制;分工不明确,当相关控制逻辑变得越来越复杂时,这种模式必将导致代码的可重用性及可扩展性的下降
            今后对项目的维护困难,不利于扩展和更新

     JavaBean的特点:

            JavaBean必须是一个公开的(public)类
            JavaBean类必须有一个无参数的构造函数
            JavaBean中的成员变量通常称为属性,属性一般是私有的
            取得或设定属性时,必须使用getXXX()和setXXX()方法, 其中,boolean没有get方法,是isXXX()的方法
         如何使用JavaBean

  在JSP中使用JavaBean的两种方法:

            通过在<%  … %>中实例化javabean的对象然后通过该对象调用javabean中的属性方法。
            通过JSP中的动作元素来实现
            <jsp:useBean>    <jsp:setProperty>   <jsp:getProperty>

         在jsp中使用javabean –方法一

            <%...%>使用javabean步骤:
            通过<%@ page import=“”/>引入我们要使用的包名
            在<%...%>中实例化bean的具体对象
            在<%...%>中通过该实例化对象对bean中的属性进行赋值
            在<%= … %>中通过该实例化对象调用getXX()方法现实结果。

        在jsp中使用javabean –方法二

             常用格式:
                <jsp:useBean id = “beanName”    class = “package.class”/>
                 <jsp:useBean id ="user" class="beans.Users"/>
                <jsp:setProperty name="user" property="name" value="tom"/>
                <jsp:getProperty name="user" property="name"/>
            等价于:
                <%@ page import=“beans.Users”%>
                <%
                    Users user=new Users();
                    user.setName(“tom”);
                    out.println(user.getName());
                %>
             <jsp:useBean>

              Scope属性取值:

                    page:在当前JSP文件以及此文件中的所有静态包含文件中使用Bean,直到页面执行完毕向客户端发回响应或转到另一个文件为止。
                    request:在任何执行相同请求的JSP文件中使用该Bean,用户可以使用request对象访问Bean。
                    session:从创建Bean开始,在任何使用相同session的JSP文件中使用Bean,该Bean存在于整个session生存周期内。
                    application:从创建Bean开始,用户就能在任何使用相同application的JSP文件中使用Bean。该Bean存在于整个application生存周期。

         自省机制

                 自省机制:当服务器接收到请求时,他根据请求的参数名称,自动设定与JavaBean相同属性名称的值。
             eg:               

            ……
                <form name="form1" action="Introspection.jsp" method="post">
                      姓名:<input type="text" name="name"><br>
                      编号:<input type="text" name="number"> <br>
                       <input type="submit" value="传送">
                </form>
             ......
               <jsp:useBean id="myBean" class=“beans.MyBean"/>
                <jsp:setProperty   name="myBean"   property="*" />
                姓名:<jsp:getProperty  name="myBean"property="name"/>
                编号:<jsp:getProperty name="myBean"   property="number"/>
                 *:表示根据请求的参数名称和myBean中的参数名称自动匹配并赋值    

             JSP页面使用DAO
             使用DAO可以将业务逻辑(功能实现)和JSP界面分开设计而互不干扰,使项目结构清晰,提高软件的可靠性              

        <%@ page contentType="text/html;charset=gbk"%>
            <%@ page import="java.util.List,dao.Emp"%>
            ……
            <jsp:useBean id="dao" class="dao.EmpDao"/>
            <center>
            <% List emps=dao.allEmp(); %>

             或者:           

        <%@ page contentType="text/html;charset=gbk"%>
            <%@ page import="java.util.List,dao.*"%>
            <center>
            <% 
                EmpDao dao=new EmpDao();
                List emps=dao.allEmp(); 
            %>

         JavaBean的移除

             JavaBean的移除,让容器释放内存
                pageContext.removeAttribute(String name);
                request.removeAttribute(String name);
                session.removeAttribute(String name);
                application.removeAttribute(String name);

猜你喜欢

转载自blog.csdn.net/u012060033/article/details/82698943