JavaBean簡介及使用

JavaBean簡介及使用

1、JavaBean簡介css

JavaBean是使用Java語言開發的一個可重用的組件,在JSP的開發中可使用JavaBean減小重複代碼,使整個JSP代碼的開發更簡潔。JSP搭配JavaBean來使用,有如下的優勢:html

1.可將HTML和Java代碼分離,這主要是爲了往後維護的方便。若是把全部的程序代碼(HTML和Java)寫到JSP頁面中,會使整個程序代碼又多又複雜,形成往後維護上的困難。java

2.可利用JavaBean的優勢。將平常用到的程序寫成JavaBean組件,當在JSP要使用時,只要調用JavaBean組件來執行用戶所要的功能,不用再重複寫相同的程序,這樣以來也能夠節省開發所需的時間。web

2、JavaBean開發要求編程

1.JavaBean自己就是一個類,屬於Java的面向對象編程。安全

2.在JSP中若是要應用JSP提供的Javabean的標籤來操做簡單類的話,則此類必須知足以下的開發要求:服務器

(1)全部的類必須放在一個包中,在WEB中沒有包的是不存在的;session

(2)全部的類必須聲明爲public class,這樣纔可以被外部所訪問;app

(3)類中全部的屬性都必須封裝,即:使用private聲明;jsp

(4)封裝的屬性若是須要被外部所操做,則必須編寫對應的setter、getter方法;

(5)一個JavaBean中至少存在一個無參構造方法,此爲JSP中的標籤所使用。 

第一個簡單JavaBean

 

package blog.csdn.joywy;
public class SimpleBean{
	private String name;
	private int age;
	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;
	}
}

  

 

若是在一個類中只包含屬性、setter、getter方法,那麼這種類就成爲簡單JavaBean。

 

對於簡單的JavaBean也有幾個名詞:

(1)VO:與簡單Java對象對應,專門用於傳遞值的操做上

(2)POJO:簡單Java對象

(3)TO:傳輸對象,進行遠程傳輸時,對象所在的類必須實現java.io.Serializable接口。

3、WEB開發的標準目錄結構

Web項目中各個目錄的做用:

 

No.

目錄或文件名稱

做用

1

WEB ROOT

Web的根目錄,通常虛擬目錄直接指向此文件夾,此文件夾下必然直接包含WEB-INF

2

WEB-INF

Web目錄中最安全的文件夾,保存各類類、第三方jar包、配置文件

3

Web.xml

Web的部署描述符

4

classes

保存全部的JavaBean,若是不存在,能夠手工建立

5

lib

保存全部的第三方jar文件

6

tags

保存全部的標籤文件

7

jsp

存放*.jsp文件,通常根據功能再創建子文件夾

8

js

存放全部須要的*.js文件

9

css

樣式表文件的保存路徑

10

images

存放全部的圖片,如*.gif或*.jpg文件

注:

1.打包編譯:編譯時直接使用javac -d . SimpleBean.java命令根據package的定義打包編譯。

2.Tomcat中classpath的配置:

全部的class要進行訪問時都必須在classpath中進行配置,在Tomcat中依然可使用,在Web開發中,Tomcat安裝目錄的lib文件夾、WEB-INF\classes和WEB-INF\lib文件夾實際上都表示了classpath,因此直接將類或jar包複製到這些文件夾中就能夠直接使用了。

 

<%@ page contentType="text/html" pageEncoding="GBK"%> <%@ page import="blog.csdn.joywy.*"%> <!-- 導入blog.csdn.joywy包 --> <html> <head><title>歡迎來到望星空</title></head> <body> <% SimpleBean simple = new SimpleBean(); //聲明並實例化SimpleBean對象 simple.setName("Joywy"); //設置name屬性 simple.setAge(23); //設置age屬性 %> <h3>姓名:<%=simple.getName()%></h3> <!-- 輸出name屬性的內容 --> <h3>年齡:<%=simple.getAge()%></h3> <!-- 輸出age屬性的內容 --> </body> </html>
4、使用<jsp:useBean>指令

除了使用import的語句以外,也可使用JSP中提供的:<jsp:useBean>指令完成操做,指令的操做語法以下所示:

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

2.主要屬性:

(1)id:表示實例化對象的名稱

(2)scope:表示此對象保存的範圍,一共有四種屬性範圍:page、request、session、application

(3)class:對象所對應的包.類名稱
樣例:

 

<%@ page contentType="text/html" pageEncoding="GBK"%> <jsp:useBean id="simple" scope="page" class="blog.csdn.joywy.SimpleBean"/> <html> <head><title>歡迎來到望星空</title></head> <body> <% simple.setName("Joywy"); simple.setAge(23); %> <h3>姓名:<%=simple.getName()%></h3> <h3>年齡:<%=simple.getAge()%></h3> </body> </html>
在使用<jsp:useBean/>指令時,實際上會默認調用SimpleBean類中的無參構造方法進行對象實例化,當修改SimpleBean.java文件後,若是要想讓其起做用,則須要從新啓動服務器,咱們能夠經過在Tomcat中直接配置自動加載的操做,這樣即便不從新啓動服務器,JavaBean修改後也能夠被當即加載進來。從新加載的配置以下:在Tomcat安裝目錄下conf/server.xml文件中進行配置

 

 

<Context path="/joywy" docBase="D:\myweb" reloadable="true"/>
之後Tomcat會自動進行檢測,若是發現JavaBean修改以後會自動進行從新加載。

 

注意:

1.直接在配置虛擬目錄的位置上增長一個reloadable屬性便可,可是這種狀況只適合於開發,由於使用reloadable自動加載後,服務器將始終處於監視狀態,一旦發現類修改後就要馬上從新加載,運行性能是比較低的,因此,當項目真正發佈運行時必定要將reloadable的內容設置成false,以提高入屋企運行性能。

2.還要記住,當Tomcat從新加載了新的內容後,全部的操做都將初始化,全部設置過的session屬性都將消失。

4、<jsp:useBean>指令內部實現原理

依靠的是反射機制完成的,在使用<jsp:useBean>指令時須要定義對象所在的「包.類「名稱,並且又要求類中存在無參構造方法,這就是反射操做的前提條件,因此<jsp:useBean>的語法實際上屬於反射機制的操做實現。

相關文章
相關標籤/搜索