1.JSP中JavaBean的使用
1.1设置JavaBean的存放路径
要在JSP中使用JavaBean,我们必须将JavaBean程序放置到正确的目录位置,如此才能够使用JavaBean。编译好的JavaBean程序(.class文件)必须放置于JSP网页目录下的”WEB-INF\classes”
1.2<jsp:useBean>操作元素
在JSP中使用<jsp:useBean>操作元素来加载JavaBean程序,其相关属性及说明如下:
属性 | 说明 |
id | 指定在JSP网页中所产生的JavaBean对象名称,如此便可利用此名称在JSP网页中使用JavaBean对象 |
scope | 此为设置JavaBean的使用周期,有request、session、page及application四种 |
class | 指定使用的类名称 |
关于JavaBean对象的生命周期说明如下:
*request
JavaBean的生命周期是当用户“请求”打开网页的时候,而在打开网页后,JavaBean便自动结束。
*session
该JavaBean的生命周期是当session存在的时候,即从session建立时开始,在系统默认的时间段里当用户未向系统再次提出请求时结束。
*page
JavaBean的生命周期仅限于目前网页中,若用户转换到下一网页或单击刷新按钮,则JavaBean便结束。
*application
表示该JavaBean的生命周期是当application存在的时候,即从application建立时开始,在application结束时,JavaBean也随着结束。
1.3<jsp:setProperty>操作元素
将JavaBean加载之后,我们可以使用<jsp:setProperty>操作元素来设置该JavaBean中的属性值,此元素的属性设置如下表:
属性 | 说明 |
name | 指定要设置属性的JavaBean对象名称,也就是<jsp:useBean>中的id值 |
property | 要设置的JavaBean对象的属性,前缀为小写字母 |
value | 预指定的属性值 |
param | 表单中的参数名称 |
以下是一个实例程序:
UserInfo.java文件内容如下:
package bo;
public class UserInfo {
}
text.jsp文件内容如下:
<%@page contentType="text/html;charset=gb2312" %>
<html>
<head>
<title>
JavaBean 示例
</title>
</head>
<body>
<jsp:useBean id="myJavaBean" scope="page" class="bo.UserInfo" />
<jsp:setProperty name="myJavaBean" property="name" value="申艺伟" />
<%
%>
<p align="center">
<jsp:getProperty name="myJavaBean" property="name" /><br></font>
</p>
</body>
</html>
其运行结果如下:
1.4<jsp:getProperty>操作元素
属性 | 说明 |
name | 指定要设置属性的JavaBean对象的名称,也就是 <jsp:useBean>中的id |
property | 想要取得的对象属性 |
2. JavaBean对象的生命周期
2.1 session类型的生命周期
该程序用来计算浏览器访问页面的次数。
Counter.java文件:
package session;
public class Counter
{
}
session.jsp文件:
<%@page contentType="text/html;charset=gb2312" %>
<html>
<title>session类型的生命周期</title>
<body>
<p align="center"><font color="red">scope=session</font></p>
<jsp:useBean id="myCount" scope="session" class="session.Counter" />
<p align="center">
<table><tr><td align="center">您是本站第<font color="blue">
<jsp:getProperty name="myCount" property="explorerCounter" /></font>位参观者!</td></tr></table>
</p>
</body>
</html>
运行tomcat,并且打开浏览器,你会看到运行结果如下:
当单击刷新按钮后,你会发现数字会加1,其结果如下:
当打开另一个浏览器时,其计数又会从1开始,如图:
2.2 Application类型的生命周期
将上面的程序稍作修改如下:
<%@page contentType="text/html;charset=gb2312" %>
<html>
<title>session类型的生命周期</title>
<body>
<p align="center"><font color="red">scope=application</font></p>
<jsp:useBean id="myCount" scope="application" class="session.Counter" />
<p align="center">
<table><tr><td align="center">您是本站第<font color="blue">
<jsp:getProperty name="myCount" property="explorerCounter" /></font>位参观者!</td></tr></table>
</p>
</body>
</html>
当你再打开一个浏览器时,浏览器将不会重新计数如下运行结果:
2.3
JavaBean对象的生命周期若声明为“Page”,则此对象仅能在该网页中使用,当用户离开或单击刷新按钮时,该JavaBean对象即告终止。
将上面的程序稍作修改如下:
<%@page contentType="text/html;charset=gb2312" %>
<html>
<title>session类型的生命周期</title>
<body>
<p align="center"><font color="red">scope=page</font></p>
<jsp:useBean id="myCount" scope="page" class="session.Counter" />
<p align="center">
<table><tr><td align="center">您是本站第<font color="blue">
<jsp:getProperty name="myCount" property="explorerCounter" /></font>位参观者!</td></tr></table>
</p>
</body>
</html>
当单击刷新按钮后,其计数仍然为1,因为单击刷新按钮后相当于离开了该页面,其运行结果如下:
2.4
<jsp:include>或<jsp:forward>操作元素,则其生命周期延伸至被include进来的页面或forward出去的网页。大家可以自己动手来验证一下。