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。