天天看點

J2EE學習筆記——JAVABean基本使用

JAVABean簡介:

    javaBean是使用java語言開發的一個可重用的元件,在jsp的開發中可以使用javaBean減少重複代碼,使整個jsp代碼的開發更簡潔。:

         1. 可以将HTML和java代碼分離,這樣就能實作項目的團隊合作性。

         2.避免重複代碼的書寫,将常用的程式寫成javaBean元件。

         使用者可以使用JavaBean将功能、處理、值、資料庫通路和其他任何可以用java代碼創造的對象進行打包,并且其他的開發者可以通過内部的JSP頁面、Servlet、其他JavaBean、applet程式或者應用來使用這些對象。使用者可以認為JavaBean提供了一種随時随地的複制和粘貼的功能,而不用關心任何改變。

JavaBean可分為兩種:一種是有使用者界面(UI,User Interface)的JavaBean;還有一種是沒有使用者界面,主要負責處理事務(如 資料運算,操縱資料庫)的JavaBean。JSP通常通路的是後一種JavaBean。

範圍

JavaBean 的範圍 Scope 是一個具有生命時間的 變量。JavaBean的範圍在 <jsp:useBean scope=”….>标志中右邊進行表示。将産生一個JavaBean的快捷參考。 說明:jsp 伺服器引擎将剝離< jsp。。。。标記。并且在最終使用者的 浏覽器上無法顯示實際代碼。 存在下面四種範圍: 頁面page、 請求request、 對話session、 應用application。

javaBean的3個名詞:

         VO:值對象,存放所有的資料的。

         POJO:簡單java對象

         TO:傳輸對象,一個類必須實作Serializable接口才能稱為傳輸對象。

javaBean本身就是一個類,屬于java的面向對象程式設計

在jsp中如果要應用jsp提供的javaBean的标簽來操作簡單類的話,則此javaBean必須滿足以下要求

        1.  所有的類必須放在一個包中。比如:javabeanTest.java放在了javabean的包中。

        2.所有的類必須聲明為public class,這樣才能夠被外部調用。

        3.類中所有的屬性都必須封裝,也就是使用private。

        4.  封裝的屬性如果需要背外部所操作,則必須編寫對應的setter、getter方法;

        5. 一個javaBean中至少存在一個無參構造方法,此為jsp中的标簽所使用。

   =========================================================================== 

截圖:

J2EE學習筆記——JAVABean基本使用

頁面之

==========================================================================

javabeanTest:

package javabean;

public class JavabeanTest {

 	private String nameString;  //封裝
 	private int age;
 	private String  sex;
 	
 	public JavabeanTest()   //構造方法
 	{
 		
 	}
 	
 	public String getNameString() {
		return nameString;
	}
	public void setNameString(String nameString) {
		this.nameString = nameString;
	}
	public int getAge() {
		return age;
	}
	public void setAge(int age) {
		this.age = age;
	}
	public String getSex() {
		return sex;
	}
	public void setSex(String sex) {
		this.sex = sex;
	}
	
 	
	
}
           

JAVABean在JSP頁面的使用:

這個指令是jsp提供的,關于這個指令的文法如下:

     <jsp:useBean id="執行個體化對象名稱" scope="儲存範圍" class="包.類名稱"/>

 主要屬性

     id:  表示執行個體化對象的名稱;

     scope:表示此對象儲存的範圍,一共有四種:page、request、session和application

    class:對象所對應的包.類名稱;

<%@ page language="java" import="java.util.*" pageEncoding="gb2312"%>
<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<jsp:useBean id="Test" scope="page" class="javabean.JavabeanTest" />
<html>
  <head>
    <base href="<%=basePath%>" target="_blank" rel="external nofollow" >
    
    <title>My JSP 'JavaBeanTest.jsp' starting page</title>
    
	<meta http-equiv="pragma" content="no-cache">
	<meta http-equiv="cache-control" content="no-cache">
	<meta http-equiv="expires" content="0">    
	<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
	<meta http-equiv="description" content="This is my page">
	<!--
	<link rel="stylesheet" type="text/css" href="styles.css" target="_blank" rel="external nofollow" >
	-->

  </head>
  
  <body>
   JAVABean 測試 <br>
   
   <%
      Test.setNameString("skyxuyan學習");
      Test.setAge(26);
      Test.setSex("男");
    %>
    
         姓名:<%=Test.getNameString() %><br>
        年齡:<%=Test.getAge() %><br>
        性别:<%=Test.getSex() %><br>
    
  </body>
</html>