J2EE 之JavaBean and JDBC技術

JavaBean技術

一、什麼是javabean

JavaBean就是一個可重複使用的,基於Java的軟件組件,可以在軟件開發工具中被直觀地操作. JavaBean是一種Java類,通過封裝屬性和方法成爲具有某種功能或者處理某個業務的對象,簡稱Bean

二、javabean的特點

JavaBean是基於Java語言的,具有以下特點:

1)可以實現代碼的重複利用,因此可以縮短開發時間。

2)易編寫,易維護、易使用。

3)可以在任何安裝了Java運行環境的平臺上使用,而不需要重新編譯,爲JSP的應用帶來了更多的可擴展性。

三、創建JavaBean必須滿足條件

1. Javabean作爲一個特殊的類,需滿足以下規範

2. 是一個public類,可供其他類實例化

3. 如果有構造方法,則這個構造方法必須是沒有參數的構造方法

4. 所有的屬性最好定義爲私有的

5. 定義public的方法setxxx()getXXX()來對屬性進行操作

四、創建javabean

創建一個標準JavaBean的基本語法如下。

1)定義包名稱

2)定義JavaBean

JavaBean類定義的語法結構如下:

   public class 類名稱

   {

   //類成員的定義

   //類方法的定義。

   //類屬性的定義。

   }

其中需要強調的是,類名稱與保存的文件名稱必須一致,否則就會出現編譯錯誤。同時,類必須聲明爲公有類,即public

如:public class CarBean

   {

   private String maker;

   ……….

   }

(3) 定義JavaBean類的構造函數

JavaBeanJave類,JavaBean就有自己的構造函數,並且構造函數的名稱必須與JavaBean類的名稱一致。構造函數的主要作用是用來初始化,而且構造函數無參數輸入,其語法結構如下:

   public JavaBean類名稱

   {

   //初始化

   ……..

   }

例如:

   public CarBean

   {

   }

(4) 定義JavaBean屬性

JavaBeanJave類,那麼它不但有自己的構造函數,還有自己的屬性。JavaBean屬性的定義的語法結構如下:

private 數據類型 屬性名稱;

例如:private String  maker;

(5) 設定JavaBean屬性值的方法

定義了JavaBean屬性之後,還要對其屬性值進行設定,其屬性值設定的語法結構如下:

   public void set設定方法名稱(數據類型  參數)

   {

      this.變量=參數;

   }

例如:

       public void setMaker(String maker)

   { this.maker="Benz";

   }

值得注意的是:JavaBean屬性值的設定方法名稱一般以set三個字母開頭,後面跟上屬性設定方法名稱

(6) 讀取JavaBean屬性值的方法

上面講述瞭如何設定JavaBean屬性值,那麼屬性值設定好之後,如何讀取呢?JavaBean屬性值讀取的語法結構如下:

   public void get讀取方法名稱()

   {

   return this.變量;

   }

例如:

   public void getMaker()

   {

   return this.maker;

   }

 例如:下面定義一個Login用戶登錄的JavaBean(具有id,name,pass三個屬性),則創建Login的javabean的步驟如下。

// 1、打開eclipse,並在java2e項目中的的java Resources\src目錄中創建一個數據包bean,如下圖所示。

 

// 2、右擊剛創建好的數據包“bean”在彈出如下菜單。

 

// 3、單擊“new->class”命令,彈出創建新類的對話框,如下圖所示。

 

// 4、在對話框中輸入類的名稱Login,然後單擊"Finish"結束。在bean數據包中會看到Login.java類如下圖所示 。

 

5、我們在右邊的代碼工作區中輸入如下代碼。

    package bean;

    public class Login {

     private int id;//定義類的成員

     private String name;

     private String pass;

    

     public Login(){}//定義類的構造方法

     public Login(int id,String name,String pass){

     this.id=id;

     this.name=name;

     this.pass=pass;

     }

    

     public int getId() {//定義類的屬性

     return id;

     }

     public void setId(int id) {

     this.id = id;

     }

     public String getName() {

     return name;

     }

     public void setName(String name) {

     this.name = name;

     }

     public String getPass() {

     return pass;

     }

     public void setPass(String pass) {

     this.pass = pass;

     }

    }

 

五、 JSP中使用javabean

1.在JSP中使用JavaBean

通過page指令導入

<%@ page import= javabean

2Bean標籤

1<jsp:useBean>

<jsp:useBean id="實例化對象名稱" scope="保存範圍" class=".類名稱" />

如我們要使用Login的JavaBean,則所寫的代碼如下。

<jsp:useBean id="login" scope="page" class="bean.Login"></jsp:useBean>

2<jsp:setProperty>

設置屬性:<jsp:setProperty>

                             

 

NO.

 

 

類型

 

 

語法格式

 

 

1

 

 

自動匹配

 

 

<jsp:setProperty name="實例化對象的名稱(id"  property="*" />

 

 

2

 

 

指定屬性

 

 

<jsp:setProperty name="實例化對象的名稱(id"  property="屬性名稱" />

 

 

3

 

 

指定參數

 

 

<jsp:setProperty name="實例化對象的名稱(id"  property="屬性名稱" param="參數名稱" />

 

 

4

 

 

指定內容

 

 

<jsp:setProperty name="實例化對象的名稱(id"  property="屬性名稱"  value="內容" />

 

 

3<jsp:getProperty>

取得屬性:<jsp:getProperty>

<jsp:getProperty name="實例化對象名稱(id)" property="屬性名稱" />

JavaBean的保存範圍:

page:保存在一頁的範圍中,跳轉後此JavaBean無效。

request:一個JavaBean對象可以保存在一次服務器跳轉的範圍中。

session:在一個用戶的操作範圍中保存,重新打開瀏覽器時纔會聲明新的JavaBean

application:在整個服務器上保存,服務器關閉時纔會消失。

JavaBean的刪除:

刪除page範圍的JavaBean可以使用pageContext.removeAttribute(JavaBean名稱)

刪除request範圍的JavaBean可以使用request.removeAttribute(JavaBean 名稱)

刪除session範圍的JavaBean可以使用session.removeAttribute(JavaBean 名稱)

  刪除application範圍的JavaBean可以使用application.removeAttribute(JavaBean名稱)

    例如:在jsp中使用上面所定的Login.java的JavaBean,代碼如下。

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<jsp:useBean id="loginbean" class="bean.Login"></jsp:useBean>

<jsp:setProperty property="id" name="loginbean" value="1"/>

<jsp:setProperty property="name" name="loginbean" value="lisi"/>

<jsp:setProperty property="pass" name="loginbean" value="lisi"/>

用戶的編號是:<jsp:getProperty property="id" name="loginbean"/></br>

用戶的名是:<jsp:getProperty property="name" name="loginbean"/></br>

用戶的密碼是:<jsp:getProperty property="pass" name="loginbean"/></br>

</body>

</html>

其中<jsp:useBean id="loginbean" class="bean.Login"></jsp:useBean>是對bean.Login時行實例化,對象名就命令中id的值loginbean;這個對象名在<jsp:setProperty><jsp:getProperty>命令中的name屬性中引用如上代碼所示。即在<jsp:setProperty property="id" name="loginbean" value="1"/>或<jsp:getProperty property="id" name="loginbean"/>中的name屬性的值必須是<jsp:useBean id="loginbean" class="bean.Login">中的id屬性值一樣。

 

 

 

JDBC技術

JDBC基礎

1.JDBC介紹

JDBC是java訪問[對象型數據庫/關係型數據庫]數據庫的規則,是原SUN公司開發的.

原來我們程序員需要針對具體的數據庫操作,費時費力; 

自從有了JDBC規則後,程序員只需要針對JDBC規則編程,不用管底層具體數據庫的實現, 

好處在於:寫一份JDBC代碼,可以在很多數據庫在執行,即可移植性

2.驅動的原理及使用

就是JDBC規則,在具體數據庫中的實現類,且用java書寫(需要安裝JDK)

3.JDBC核心使用

做jdbc代碼,需要用到如下幾個固定步驟,以查詢爲例:

(1). 加載mysql數據庫服務器的驅動,DriverManager

(2). 獲取mysql數據庫服務器的連接,Connection

(3). 獲取封裝sql語句的對象,Statement

(4). 執行sql語句,並返回結果集合,ResultSet

(5). 迭代這個結果集合,while(){}

(6). 按輕到重的原則關閉連接對象,ResultSet-Statement-Connection,在必要情況下,Connection可重用

如下代碼用於對login數據表進行查詢操作:

<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>

   <%@ page import="java.sql.*" %> <!-- 引入數據包-->

   <%@ page import="java.util.*" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">

<title>Insert title here</title>

</head>

<body>

<%! //

private static final String DBDRIVER = "org.gjt.mm.mysql.Driver";// 採用mysql-connector-java-5.1.12-bin.jar作爲連接mysql數據庫時,使用的數據庫驅動類。

// 連接數據庫地址,其中localhost是我們在本機上安裝的mysql數據庫管理系統,stsc是在myssql數據庫系統中創建的數據庫名,若使用較低版時,使用“jdbc:mysql://localhost:3306/zy”

private static final String DBURL = "jdbc:mysql://localhost:3306/stsc";// 採用mysql-connector-java-5.1.12-bin.jar作爲連接mysql數據庫時,使用的數據庫地址。

// 連接數據庫管理員,是mysql數據庫的系統管理員root

private static final String DBUSER = "root";

// 連接數據庫管理員登錄密碼,是在安裝mysql數據庫時,給定的密碼

private static final String DBPASS = "admin";

// 創建數據庫連接對象conn

private static Connection conn = null;

%>

<%

try {

// 加載mysql數據庫的驅動程,

Class.forName(DBDRIVER);

// 獲取數據庫連接對象

conn = DriverManager.getConnection(DBURL, DBUSER, DBPASS);

//定義sql命令,用於從login數據表中記錄,

String sql="select id,name,pass from login";

//創建執行sql命令的對象

PreparedStatement psta=conn.prepareStatement(sql);

ResultSet rs=psta.executeQuery();

if(rs !=null){

%>

<table width=100 border=1>

<%while(rs.next()){ %>

<tr>

<td><%=rs.getInt(1) %></td>

<td><%=rs.getString(2) %></td>

<td><%=rs.getString(3) %></td>

</tr>

<%}%>

</table>

<%

}

//關閉數據集對象

                        rs.close();

                        //關閉執行sql命令的對象

                        psta.close();

                        // 關閉數據庫連接對象

                        conn.close();

} catch (Exception e) {

e.printStackTrace();

}

%>

 

</body>

</html>

4.DriverManager(類)、Connection(接口)、Statement(接口)、ResultSet(接口)詳細使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章