<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    天若有情

    到教堂懺悔,愿主安撫我罪惡的心靈......
    posts - 4, comments - 35, trackbacks - 0, articles - 24

    javabean是什么和總結javabean的兩種使用方式06-7-23

    一、 javabean 是什么?

    Javabean 就是一個類,這個類就定義一系列 get<Name> set<Name> 方法。 So simple

    Javabean 就是為了和 jsp 頁面傳數據化簡交互過程而產生的。

    自己的理解:

    使用 javabean 和不用 javabean 的區別:

    一個 javabean 就是為 jsp 頁面上的元素一一開辟一個空間,然后根據需要賦值、讀值。而如果不用 javabean ,就直接使用 HttpServlet request 對象:

    只在 jsp 頁面間傳遞獲取數據:

    String name=req.getParameter(“name”);

    顯示數據: out.println(name);

    存數據入 DB :在 jsp 中直接嵌入 java 代碼,用 insert 語句存入。

    感覺就像當年自己畢設做的 asp 代碼一樣。 .asp 頁面中一系列的 req.getParameter 代碼和嵌入一大堆的 sql 語句,代碼很亂,很難維護。

    而使用 javabean 之后,優勢也就是 java 的優勢:組件技術,代碼重用,易于維護。(在 jsp 頁面中數據的顯示很清晰。)

    具體 javabean 是什么?有待查資料

    解決:

    1 http://www.itlearner.com/article/2004/551.shtml

    軟件組件就是指可以進行獨立分離、易于重復使用的軟件部分。 JavaBean 就是一種基于 Java 平臺的軟件組件思想。

    2 http://www.chinaitpower.com/A200507/2005-07-27/170233.html

    JavaBean到底是個什么東西

    1.      JavaBean與EJB
    (1)JavaBean與EJB規范在以下方面有共同的目標:通過標準的設計模式推廣Java程序代碼,提升開發過程和開發工具之間的重復運用性可攜性.但是這兩種規格的原始問題卻是為了解決不同的問題.
    定義于JavaBean組件模型中的標準規范,被設計來產生可重復運用的組件,而這些組件通常被用于IDE開發工具,而且通常是可視化組件,當然并不一定是可視化組件.
    (2)EJB規范所定義的組件模弄,剛是用來開發服務端的Java程序,由于EJB可能執行在不同的服務器平臺上,包括無圖形的大型主機上,所以EJB無法使用類似AWT或SWING之類的圖形化程序庫.

    2.      JavaBean與類庫的區別:
    (1)并不是所有有用的模塊都必須轉化成Bean.Bean主要是能被用來可視化操作去完成一些效果.
    (2)類庫是一個提供函數操作給編程者的一個有效操作,但是并不能從可視化操作中來獲益.
    (3)舉個例子來說:提供JDBC數據庫訪問的API作為一個類庫比作為一個bean要好,因為JDBC的核心是用一個可編程的API,并不是能夠直接展現于可視化操作.然而,寫一個數庫庫訪問Bean在JDBC的頂層還是有意義的.例如,你可以寫一個能定制的"Select"bean以助于用戶去組成一個查詢語句,并且程序運行時用JDBC去運行這個查詢語句,并顯示結果集.

    3.      在可視化編程中,可以看出,組件是一段程序代碼,通過被存為class內,關鍵在程序開發工具如何發現組件的屬性和事件.VB和Delphi都是通過某種機制來實現這點的,而Java則通過JavaBeans將可視化組件開發帶進了一個更高的境界,因為一個Bean就是一個Class.針對以上的內容,JavaBean有如下的規則

    (1)針對一個名為xxx的屬性,你通常要寫兩個函數,getXxx()和setXxx().
    (2)你可以用get/set方式來處理boolean,可以用is來代替get.
    (3)Bean的一般函數不需要遵守上述的命名規則,但是需要為public.
    (4)對于事件,你可以使用Swing的監聽器作法來處理.

    4.      JavaBean的體系結構
    JavaBean體系結構是第一個全面的基于組件的標準模型之一.在集成的IDE中使JavaBean在設計時可以操作.組件模型見如下圖:

    結合所查資料得到自己的體會和總結:

    (以后有問題都google和baidu,唉這個問題去年上J2EE課的時候,問了很多同學,包括蘇老師,他們都沒有很好的回答出來。)

    1.     javabean是一種軟件組件,所謂組件也就是一個java類而已。就像一個機械零件一樣,可以重復的用它來組裝形成產品。但是并不是每個java類都是javabean組件。軟件組件是有一定的概念和體系結構的。自己的理解是,javabean組件是定義了需要get和set方法等規則的組件,通過定義這些規則,可以實現發現組件屬性和事件的機制。

    2.      軟件組件的作用:只需編寫一回,各處都可執行。

    對于程序員來說,最好的一點就是 JavaBean 可以實現代碼的重復利用,另外對于程序的易維護性等等也有很重大的意義。

    3.        javabean 的特點:

    1. 執行 java.io.Serializable 接口
       2. 提供無參數的構造器
       3. 提供 get set 方法訪問它的屬性 .

    二、 javabean 的兩種使用方式:(嵌入 java 代碼方式和使用 jsp 標記符方式)【也就是當作普通的類來使用者在 jsp 頁面處理時有特殊的標記符處理方式】

    以下是使用 javabean 的每個功能的兩者不同方式比較:(用了 javabean 只是方便一點,并且可以實現組件重用而已。)

    a jsp 中使用 javabean 的類的兩種方法:(這兩行代碼的作用是一樣的)

    法一: jsp 中使用 <jsp:useBean> 標記符訪問 javabean

    <jsp:useBean id="test" class="test.TestBean" />

    法二: jsp 中嵌入 java 代碼方式訪問 javabean

    首行導入 javabean

    <%@ page import="com.javaBean.TestBean" %>

    下邊就可以像在 java 語言中那樣用了:

    <% TestBean testBean=new TestBean(); %>

    b)jsp 頁面之間傳遞和獲取數據的兩種方法:

    l         獲取數據:

    法一:使用屬性標記符:

    <jsp:getProperty name="test" property="message" />

    法二:直接嵌入 java 代碼:(更簡單)

    <%=testBean.getName()%>

    l         存數據:

    法一:使用屬性標記符:

    設置單個元素值:

    <jsp:setProperty name="test" property="name" value="jcm"  />

    設置 jsp 頁面中所有元素的值:

    <jsp:setProperty name="test" property="*" />

    注:這個方法特別方便,只需要在接收數據并負責顯示的 jsp 頁面使用 <jsp:useBean> 之后加上這一行代碼,所有數據就自動賦值了。然后在接下來的 jsp 代碼中就可以使用 get 方法顯示出數據了。

    法二:直接嵌入 java 代碼:

    <%

    String name=req.getParameter(“name”);

    testBean.setName(name)

    String pwd=req.getParameter(“password”);

    testBean.setName(pwd)

    %>

    注:

    通常 javabean 函數中除了 get set 方法外,還有一個把數據存入 DB 中的方法(也就是和 DB 連接并實現 insert 語句)。

    問題:

    1.       一個 javabean 當作一個普通的類來使用,( import 類,通過 new 方法構造一個對象,然后通過對象調用方法),和通過 jsp 標記符 <jsp:useBean> 來使用有區別嗎?它和普通的類有什么區別呢? javabean 也可以通過普通類的使用方式來訪問呀。上面總結的內容就是這樣的呀。

    2.       是不是只有通過標記符 <jsp:useBean> 來使用才能真正體檢 javabean 組件的優勢:自動賦值?如果不使用標記符 <jsp:useBean> 可以實現自動賦值嗎?

    有待實驗解決。

    解決:(終于明白過來了!)

    參考資料:

    http://www.faq-it.org/archives/jsp/52ae59e6bc6d13af9ee621213347274a.php

    關于 javaBean 原理性的兩個問題

    作者 :bdsc


    初次接觸 javaBean ,遇到了兩個原理性的問題,沒有找到確定的資料得到答案,希望在這兒能得到大家的幫助。
     1 javaBean class 與普通 java class 有什么區別? javaBean 的類代碼有沒有明確的規定,比如一定要繼承什么類?如沒有那怎么說一個 java class javaBean ,或不是呢?
    2 javaBean 是在客戶端執行還是在服務器執行呢?
    2.1 如果在客戶端執行,那是不是在客戶端一定要有 jvm ,并且要下載對應的
    javaBean class 文件?但我怎么沒有在自己的系統盤中找不到相應 javaBean
    class 文件呢?那 applet 也是在客戶端運行,為什么要出現 javaBean 呢?
    2.2 如果在服務器執行,那 javaBean 是在客戶端生成用戶界面而產生的,那服
    務器端執行的代碼怎么在客戶端生成用戶界面呢?
    ---------------------------------------------------------------

    1 對于 javaBean 于普通 java class 類的分別并非很明確 主要是 javabean 通常在 jsp 頁面上有特殊的引用方法。
    2 javabean 是在服務器端執行的。 javabean 并不直接生成用戶界面(那是 applet 做的事情),而通常只做數據的組織、處理工作。然后通過 jsp 頁面來生成用戶的界面。

    以上只是我個人的理解。我也希望與大家一起討論。
    ---------------------------------------------------------------

    javaBean 是一種(符合要求的) java

    *.jsp 在服務器端編譯運行,通過封裝的 socket (你看到的是 outputStream/ 名字也許不正確 一類的對象)向客戶( webbrowser __ie/navigator) 發送普通字符流(按 http 協議 ), 這個字符流由瀏覽器接受,解釋然后按一定的格式顯示
    ---------------------------------------------------------------

    1 javaBean class 與普通 java class 有什么區別? javaBean 的類代碼有沒有明確的規定,比如一定要繼承什么類?如沒有那怎么說一個 java class javaBean ,或不是呢?
    javaBean 其實就是一個 JAVA 程序。可以在 JSP 里面調用。
    ENterprise JavaBean 是用于構建企業應用的 EJB 。必須在應用服務器上面部署。

    2 javaBean 是在客戶端執行還是在服務器執行呢?
    javaBean 是在服務器執行,返回給客戶端的只是 HTML 代碼。
    如果要在客戶端執行,可以用 APPLET
    ---------------------------------------------------------------

    sun 很早提出的 javabean 的概念是解決可視的 application 的模塊化提出來的,但由于 java 在客戶端開發實在不怎么樣,所以 sun 沒有在這方面再進行,作為界面模塊化開發的 javabean 實際上已經死了。(以上純粹個人觀點,歡迎批評)

    但是隨著 web 應用的興起 jsp 的出現, jsp 需要這樣的概念,功能 / 表現分開,將功能封裝在一個模塊中,以便實現最大化的代碼復用,就又拾起這個 javabean 將它用在 web/jsp 開發上。

    你提到的那篇文章所說的是可視化的 javabean 用在 applet 里的情況 ,以后你可以在心理分清楚(因為也許沒人這樣看)別人說的是那種 javabean

    至于具體符合什么要求,說實話我不知道(因為我個人不贊成用 javabean 的)

    自己的總結:

    1. javaBean 是一種(符合要求的) java 類。 javaBean 與普通 java class 類的分別并非很明確,主要是 javabean 通常在 jsp 頁面上有特殊的引用方法。

    2. 所以 javabean 既可以當作普通的類來使用,也可以在 jsp 頁面上有特殊的引用方法。

    3.       對于第三個問題:是不是只有通過標記符 <jsp:useBean> 來使用才能真正體檢 javabean 組件的優勢:自動賦值?如果不使用標記符 <jsp:useBean> 可以實現自動賦值嗎?

    答:不是的。 Jsp 的自動賦值是指:通過 <jsp:setProperty name=”myBean” property=”*” /> 這個屬性訪問標記符就可以輕松實現對 jsp 頁面上所有參數的賦值,方便一點,而如果用普通類的訪問方式,需要一一獲取各項值,一一調用 set 方法而已。比如:

    <%

    StuInfoBean stuInfoBean=new StuInfoBean();

    String stuNo=request.getParameter("stuNo");

    String stuName=request.getParameter("stuName");

    stuInfoBean.setStuNo(stuNo);

    stuInfoBean.setStuName(stuName);

    %>

    4.       所以 javabean 只是一個符合必須有 set get 方法,并且可以在 jsp 上有特殊引用方式的 java 類。

    二、 一個例子,分別使用 jsp 特殊引用方式和普通類的使用方式來實現對 javabean 的調用:

    主要的區別在于兩個地方:

    1 對類的使用:

    l         jsp 標記符方式:使用 <jsp:useBean />

    l         普通類方式: <%@ page import="com.javaBean.StuInfoBean" %>

    2 對屬性的賦值:

    l         jsp 標記符方式: <jsp:setProperty name="stuInfoBean" property="*" />

    l         普通類方式:

    <%

    StuInfoBean stuInfoBean=new StuInfoBean();

    String stuNo=request.getParameter("stuNo");

    String stuName=request.getParameter("stuName");

    stuInfoBean.setStuNo(stuNo);

    stuInfoBean.setStuName(stuName);

    %>

    主站蜘蛛池模板: 亚洲VA中文字幕无码一二三区| 亚洲 无码 在线 专区| 久久青青草原亚洲av无码app| 国产精品免费久久久久影院| 亚洲黄片毛片在线观看| 美女扒开尿口给男人爽免费视频| 午夜国产大片免费观看| 三级片免费观看久久| 久久久久亚洲av毛片大| 99久久免费国产精精品| 亚洲国产精品婷婷久久| 37pao成人国产永久免费视频| 亚洲成人网在线播放| 亚洲人成电影网站免费| 亚洲av成人一区二区三区在线播放 | 亚洲va久久久久| 国产成人免费福利网站| 日本高清不卡中文字幕免费| 国产成人毛片亚洲精品| 免费福利在线视频| 亚洲免费电影网站| 国产成人免费ā片在线观看| 国产99精品一区二区三区免费| 亚洲女久久久噜噜噜熟女| 99久久国产免费-99久久国产免费| 亚洲天堂中文字幕在线观看| 国产大片51精品免费观看| 久久久久久久99精品免费观看| 亚洲精品在线视频观看| 无码国模国产在线观看免费| 精品一区二区三区免费视频| 亚洲综合区图片小说区| 免费观看四虎精品国产永久 | 99久久99久久免费精品小说| 亚洲人成电影网站久久| 亚洲视频在线精品| 四虎永久在线精品免费观看视频| 亚洲AV无码男人的天堂| 亚洲国产成人一区二区三区| 好大好硬好爽免费视频| 99麻豆久久久国产精品免费|