js|教程 Jsp與JavaBean結合的簡單例子
上面講了這麼多,到現在還沒有看到具體應用,那好,現在我們看看具體的JavaServer Pages+JavaBean的例子吧,首先讓我們看看一個簡單的計數器程式。
本常式共包含3個檔案
JavaBean--counter.java檔案,JavaServer Page-- counter.jsp檔案, counter1.jsp檔案其中,counter.java主要用來進行計數器的計數操作,counter.jsp和counter1.jsp檔案主要用來顯示網頁的計數。
counter.java檔案
package count;
/**
* Title: test
* Description: counter Bean
* @author LiuYufeng
* @version 1.0
*/
public class counter {
//初始化JavaBean的成員變數
int count = 0;
// Class構造器
public counter() {
}
// 屬性Count的Get方法
public int getCount() {
//計數操作,每一次請求都進行計數器加一
count++;
return this.count;
}
//屬性Count的Set方法
public void setCount(int count) {
this.count = count;
}
}
counter.jsp檔案
<HTML>
<HEAD>
<TITLE>
counter
</TITLE>
</HEAD>
<BODY>
<H1>
JBuilder Generated JSP
</H1>
<!-初始化counter這個Bean,執行個體為bean0-->
<jsp:useBean id="bean0" scope="application" class="count.counter" />
<%
//顯示當前的屬性count的值,也就是計數器的值,這裡我們使用out.println方法,下面的counter1.jsp將使用另一種方法
out.println("The Counter is : " + bean0.getCount() + "<BR>");
%>
</BODY>
</HTML>
counter1.jsp檔案
<HTML>
<HEAD>
<TITLE>
counter
</TITLE>
</HEAD>
<BODY>
<H1>
JBuilder Generated JSP
</H1>
<!-初始化counter這個Bean,執行個體為bean0-->
<jsp:useBean id="bean0" scope="application" class="count.counter" />
<!-使用jsp:getProperty 標籤得到count屬性的值,也就是計數器的值-->
The Counter is :
<jsp:getProperty name="bean0" property="count" /><BR>
</BODY>
</HTML>
從這個例子我們不難看出Jsp和JavaBean應用的一般操作方法,首先在Jsp頁面中要聲明並初始化JavaBean,這個JavaBean有一個唯一的id標誌,還有一個生存範圍scope(設定為application是為了實現多個使用者共用一個計數器的功能,如果要實現單個使用者的計數功能,可以修改scope為session),最後還要制定JavaBean的class來源count.counter:
<jsp:useBean id="bean0" scope="application" class="count.counter" />
接著我們就可以使用JavaBean提供的public方法或者直接使用<jsp:getProperty>標籤來得到JavaBean中屬性的值:
out.println("The Counter is : " + bean0.getCount() + "<BR>");
或者
<jsp:getProperty name="bean0" property="count" />
OK,現在運行一下程式看看,然後多重新整理幾次,注意看計數器的變化。上面的程式在Jbuilder4.0下面調試通過。
如果要直接在一些jsp環境(如Tomcat、IAS、Weblogic等)下調試,請注意各自的文檔,正確的放置JavaBean檔案。如在Tomcat環境中,本例子JavaBean編譯後的檔案就需要放在<Server Root>WEB-INFClASSES count counter.class。