天天看點

JSP開發中的JavaBean的應用以及部署

JavaBean 說白了 就是一個java類,跟VC中的控件類似是JSP開發中元件。

JavaBean分為可視化javabean    和非可視化javabean      ,在JSP中 多用到的是 非可視化javabean   。

在 C/S模式下開發應用程式多用到的是 可視化JavaBean   但是在 B/S模式下應用程式的開發多用到的是非可視化JavaBean 。

我們在沒接觸JavaBean之前可能有過這樣的經曆,在JSP頁面當中 動态内容JSP 和靜态内容html交錯在一起,不容易後期維護,代碼混亂。

JavaBean很好的實作了代碼重用,減少了開發的工作量,并且實作了  靜态和動态的分離 。.

編寫JavaBean要有一些規則 :

對于 一個屬性 需要有getXXX()     setXXX()函數來獲得和設定屬性的值 

并且對于每個通路屬性的方法都要設定為pulic通路權限,這樣可以友善JSP引擎知道JavaBean的屬性和方法  。

什麼是jar檔案  ?

jar檔案是一些java類的集合 ,包含了一組類 和其他相關的資源.包括圖像聲音  .......

如果我們需要多個類,你說我們是去下載下傳這些類打包後的jar檔案友善呢?還是一個一個的下載下傳友善呢?

這個不用我多說了吧 。。。。

下面是JavaBean的部署方法 :

在編寫好了一個JavaBean之後,要用 javac   -d   path   來編譯JavaBean産生位元組碼檔案   *.class      對于有包的類那麼則會生成相應的目錄層次  

這是在傳統的記事本程式設計中這樣做 .但是在 Eclipse中 在源檔案儲存的時候會自動生成 .class檔案    。

我們可以用JDK提供的jar.exe工具進行打包    

格式  :    jar    [option可以使多個集合例如cf]     a.jar   *.class     //将所有類進行打包為a.jar檔案 

選項包括:

    -c  建立新的歸檔檔案

    -t  列出歸檔目錄

    -x  解壓縮已歸檔的指定(或所有)檔案

    -u  更新現有的歸檔檔案

    -v  在标準輸出中生成詳細輸出

    -f  指定歸檔檔案名

    -m  包含指定清單檔案中的清單資訊

    -e  為捆綁到可執行 jar 檔案的獨立應用程式

        指定應用程式入口點

    -0  僅存儲;不使用任何 ZIP 壓縮

    -M  不建立條目的清單檔案

    -i  為指定的 jar 檔案生成索引資訊

    -C  更改為指定的目錄并包含其中的檔案

如果有任何目錄檔案,則對其進行遞歸處理。

清單檔案名、歸檔檔案名和入口點名的指定順序

與 "m"、"f" 和 "e" 标志的指定順序相同。

示例 1:将兩個類檔案歸檔到一個名為 classes.jar 的歸檔檔案中:

       jar cvf classes.jar Foo.class Bar.class

示例 2:使用現有的清單檔案 "mymanifest" 并

           将 foo/ 目錄中的所有檔案歸檔到 "classes.jar" 中:

       jar cvfm classes.jar mymanifest -C foo/ .

我們在生成好了 *.class之後如果要使用這個JavaBean   我們可以吧這個類檔案 複制到  web工程的 WEB-INF\classes目錄下 ,那麼這個web工程就可以使用這個JavaBean了 ..

如何使用jar檔案呢? 

如果我們想再伺服器所有JSP頁面共享部署的Jar檔案,那麼将jar檔案複制到  Tomcat目錄下的lib目錄中。那麼所有的JSP頁面都可以使用了

如果隻想某個程式使用那麼隻需要在web工程的 WEB-INF下建立lib檔案夾 然後将jar檔案放入即可 。。。。。

在JSP頁面中使用JavaBean要使用    useBean動作指令

<jsp:useBean id="javabean的執行個體名"    class="javabean的類名" scop="JavaBean的有效範圍" /> 

scop的取值範圍有 四個 

1、page   隻在目前的jsp頁面有效   配置設定給每個客戶的JavaBean不同 。如果關閉此頁面 那麼JavaBean也将取消  。

2、session 表示配置設定給每個客戶的javaBean不同   但是如果同一會話中ID相同的 javabean      一個的屬性修改 那麼另一個屬性也會修改  。JavaBean的聲明周期就是一次session會話

3、   request 表示配置設定給每個JavaBean的不同  隻在請求和被請求頁面之間共享JavaBean  當對清求做出相應之後  JavaBean也就取消了 

5、application  表示在所有客戶之間共享 JavaBean  一個客戶改變了 成員變量的值 那麼另一個客戶的此JavaBean的值也會跟着 改變 。此JavaBean的聲明周期是生個伺服器的生命周期  。 

引入之後我們就可以利用  id.method()調用 JavaBean的方法了   .因為useBean實際上是對一個類進行了執行個體化 ,,

<jsp:getProperty name="javabean對象的名字"  property="屬性的名字" />    //getProperty 動作指令會取得javabean指定的屬性的值 并且輸出  屬性的值

setProperty動作指令有3種形式 是用來設定 JavaBean屬性的值 

<jsp: setProperty name="javabean執行個體名字"  property="屬性的名字"  param="送出的時候的參數"/>  //隻對javabean中的執行屬性指派  而且值為為送出時候參數為 param的值

<jsp: setProperty name="javabean執行個體名字"  property="*"/>   //在送出的時候根據參數的名字  對 屬性進行指派  屬性的額名字和參數名字相同   * 表示對所有屬性進行指派

如果存在值為null的時候 或者找不到參數的時候那麼屬性都不會被指派

<jsp: setProperty name="javabean執行個體名字"  property="屬性的名字" value="屬性的值"/>   //我們自己對屬性進行指派      

繼續閱讀