久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

java研究館--jsp+javabean循序漸進教程

 昵稱455 2005-07-22

目前,Jsp作為一個很好的動態(tài)網(wǎng)站開發(fā)語言得到了越來越廣泛的應用,,在各類Jsp應用程序中,Jsp + Java Bean的組合成為了一種事實上最常見的Jsp程序的標準,,就讓我們來看看具體的Jsp是如何與Java Bean結合在一起的吧。
  本教程將闡述JavaBean的原理,接著將闡述JavaBean在JavaServer Page下的特定語法,然后演示一個使用Jsp+JavaBean的簡單的計數(shù)器,,最后將詳細的講解一個有數(shù)據(jù)庫功能的JavaBean+jsp的用戶注冊程序。
Java Bean原理與應用
  1,、什么是JavaBean,?
  JavaBean是描述Java的軟件組件模型,有點類似于Microsoft的COM組件概念,。在Java模型中,,通過JavaBean可以無限擴充Java程序的功能,通過JavaBean的組合可以快速的生成新的應用程序,。對于程序員來說,,最好的一點就是JavaBean可以實現(xiàn)代碼的重復利用,另外對于程序的易維護性等等也有很重大的意義,。
  JavaBean通過Java虛擬機(Java Virtual Machine)可以得到正確的執(zhí)行,,運行JavaBean最小的需求是JDK1.1或者以上的版本。
  JavaBean傳統(tǒng)的應用在于可視化的領域,,如AWT下的應用,。自從Jsp誕生后,JavaBean更多的應用在了非可視化領域,,在服務器端應用方面表現(xiàn)出來了越來越強的生命力,。在這里我們主要討論的是非可視化的JavaBean,可視化的JavaBean在市面上有很多Java書籍都有詳細的闡述,,在這里就不作為重點了,。
  2、非可視化的JavaBean
  非可視化的JavaBean,,顧名思義就是沒有GUI界面的JavaBean,。在Jsp程序中常用來封裝事務邏輯、數(shù)據(jù)庫操作等等,,可以很好地實現(xiàn)業(yè)務邏輯和前臺程序(如jsp文件)的分離,,使得系統(tǒng)具有更好的健壯性和靈活性。
  一個簡單的例子,,比如說一個購物車程序,,要實現(xiàn)購物車中添加一件商品這樣的功能,就可以寫一個購物車操作的JavaBean,,建立一個public的AddItem成員方法,,前臺Jsp文件里面直接調(diào)用這個方法來實現(xiàn)。如果后來又考慮添加商品的時候需要判斷庫存是否有貨物,,沒有貨物不得購買,,在這個時候我們就可以直接修改JavaBean的AddItem方法,加入處理語句來實現(xiàn),,這樣就完全不用修改前臺jsp程序了,。
  當然,也可以把這些處理操作完全寫在jsp程序中,,不過這樣的jsp頁面可能就有成百上千行,,光看代碼就是一個頭疼的事情,,更不用說修改了。如果您使用過asp開發(fā)過程序的話,,相信對這就深有體會了(其實使用ASP+COM組件完全可以實現(xiàn)同jsp+javabean同樣的架構,,但不知道某種原因網(wǎng)上常見的都是全部寫在asp頁面中,所以使得維護修改等極為不方便,,當然這是題外話了),。由此可見,通過JavaBean可以很好地實現(xiàn)邏輯的封裝,、程序的易于維護等等,。
  如果您使用Jsp開發(fā)程序,一個很好的習慣就是多使用JavaBean,。
  3,、JavaBean的簡單例子
  創(chuàng)建JavaBean并不是一件困難的事情,如果您寫過Java程序的話那就很容易了,,要注意一點的就是在非可視化JavaBean中,,常用>get或者>set這樣的成員方法來處理屬性>(properties>)。>
  下面讓我們來看一個簡單的JavaBean
  FirstJavaBean.java
  import java.io.*;
  public class FirstJavaBean
  {
   private String FirstProperty = new String("");
   public FirstJavaBean()
   {
   }
   public String getFirstProperty()
   {
    return FirstProperty;
   }
   public void setFirstProperty(String value)
   {
    FirstProperty = value;
   }
   public static void main(String[] args)
   {
    System.out.println("My First JavaBean!");
   }
  }
  如果運行這個程序,,就會出現(xiàn)下面的結果:
  First JavaBean!
  這是一個很典型的JavaBean的代表,,簡單地解釋一下,F(xiàn)irstProperty是其中的一個屬性(Property),,外部通過get/set方法可以對這個屬性進行操作,,如果您寫過VB的class的話,對這個就再也熟悉不過了,。Main方法是為了測試程序用的,,寫JavaBean可以先不必加入到Jsp程序中調(diào)用,而直接用main方法來進行調(diào)試,,調(diào)試好以后就可以在Jsp程序中調(diào)用了,。

JavaBeans 和 JavaServer Pages的結合
  通過上面的學習,大家對JavaBean應該有了一個基本的了解,,對于在JavaServer Pages中調(diào)用JavaBeans我們還需要了解一些特定的jsp的內(nèi)容,,讓我們來看看吧。
  JavaServer Pages中的JavaBean相關標簽
  在JavaServer Pages中調(diào)用JavaBean有三個標準的標簽,,那就是<jsp:useBean>, <jsp:setProperty>,,以及<jsp:getProperty>。
  <jsp:useBean>標簽
  <jsp:useBean>可以定義一個具有一定生存范圍以及一個唯一id的JavaBean的實例,,這樣JavaServer Pages通過id來識別JavaBean,,也可以通過id.method類似的語句來操作JavaBean。
  在執(zhí)行過程中,<jsp:useBean>首先會嘗試尋找已經(jīng)存在的具有相同id和scope值的JavaBean實例,,如果沒有就會自動創(chuàng)建一個新的實例,。
  其具體語法如下
  <jsp:useBean id=“name”
  scope=“page|request|session|application”
  typeSpec>
  body
  </jsp:useBean>
  其中,typeSpec定義如下
  typeSpec ::=class=“className”
  | class=“className” type=“typeName”
  | type=“typeName” class=“className”
  | beanName=“beanName” type=“typeName”
  | type=“typeName” beanName=“beanName”
  | type=“typeName”
  下面的表格是<jsp:useBean>標簽中相關屬性的含義
  屬性及定義
  Id
  id屬性是JavaBean對象的唯一標志,,代表了一個JavaBean對象的實例,。它具有特定的存在范圍(page|request|session|application)。在JavaServer Pages中通過id來識別JavaBean,。
  Scope
  Scope屬性代表了Javabean對象的生存時間,,可以是page, request, session, 和 application中的一種,。
  Class
  代表了JavaBean對象的class名字,,特別注意大小寫要完全一致。
  beanName
  BeanName屬性代表了Bean的名字,,通常通過java.beans.Beans class的instantiate() 方法來初始化,。.
  Type
  Type屬性指定了腳本變量定義的類型,默認為腳本變量定義和class中的屬性一致,,一般我們都采用默認值
  <jsp:setProperty>標簽
  另一個標準的標簽就是<jsp:setProperty>標簽了,,它主要用于設置bean的屬性值。JavaServer Pages中調(diào)用的語法如下:
  <jsp:setProperty name=“beanName” last_syntax />
  其中,,name屬性代表了已經(jīng)存在的并且具有一定生存范圍(scope)的JavaBean實例,。last_syntax代表的語法如下: property=“*” |
  property=“propertyName” |
  property=“propertyName” param=“parameterName” |
  property=“propertyName” value=“propertyValue”
  下面是<jsp:setProperty>標簽的基本屬性以及含義
  屬性及定義
  Name
  Name代表通過<jsp:useBean> 標簽定義的JavaBean對象實例。
  Property
  這是個很重要的屬性,,代表了你想設置值的屬性property名字,。如果使用property=”*”,程序就會反復的查找當前的ServletRequest所有參數(shù),,并且匹配JavaBean中相同名字的屬性property,,并通過JavaBean中屬性的set方法賦值value給這個屬性。如果value屬性為空,,則不會修改Javabean中的屬性值,。
  Param
  Param屬性代表了頁面請求的參數(shù)名字,<jsp:setProperty>標簽不能同時使用param和value,。
  Value
  Value屬性代表了賦給Bean的屬性property的具體值,。
  <jsp:getProperty>標簽
  最后一個標簽就是<jsp:getProperty>標簽了.它可以得到JavaBean實例的屬性值,并將他們轉換為 java.lang.String, 最后放置在隱含的Out對象中. JavaBean的實例必須在<jsp:getProperty>前面定義.
  <jsp:getProperty>標簽的語法如下:
  <jsp:getProperty name=“name” property=“propertyName” />
  下面是<jsp:getProperty>標簽的基本屬性以及含義
  屬性及定義
  Name
  Name屬性代表了想要獲得屬性值的Bean的實例,,Bean實例必須在前面用<jsp:useBean>標簽定義.
  Property
  Property屬性代表了想要獲得值的那個property的名字,。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點,。請注意甄別內(nèi)容中的聯(lián)系方式、誘導購買等信息,謹防詐騙,。如發(fā)現(xiàn)有害或侵權內(nèi)容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多