在JSP网页中,将Bean对象保存至session对象时,我们可以定义Bean响应HttpSessionBindingEvent事件。当Bean对象加入session、Bean从session中删除,以及session对象中止时,将会触发此事件。如下例子:SessionEvent.jsp<%@ page contentType="text/html; charset=GB2312" %>
<HTML>
<HEAD>
<TITLE>HttpSessionBindingEvent事件的响应</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>HttpSessionBindingEvent事件的响应
</FONT>
</CENTER>
<HR><P></P>
<jsp:useBean id="event" scope="session" class="com.bitc.ch12.SEvent"/>
<%
session.removeAttribute("event");
//从session对象中移除event对象
%>
</BODY>
</HTML>
Bean对象:SEvent.javapackage com.bitc.ch12;
//定义Bean所属的套件import java.io.*;
import javax.servlet.http.*;//定义SEvent实做HttpSessionBingingListener
public class SEvent implements HttpSessionBindingListener
{
//当Bean物件加入session时, 将自动呼叫此方法
public void valueBound(HttpSessionBindingEvent event)
{
System.out.println("valueBound is called!");
} //当Bean物件从session中移除时, 将自动呼叫此方法
public void valueUnbound(HttpSessionBindingEvent event)
{
System.out.println("valueUnbound is called!");
}
}
<HTML>
<HEAD>
<TITLE>HttpSessionBindingEvent事件的响应</TITLE>
</HEAD>
<BODY>
<CENTER>
<FONT SIZE = 5 COLOR = blue>HttpSessionBindingEvent事件的响应
</FONT>
</CENTER>
<HR><P></P>
<jsp:useBean id="event" scope="session" class="com.bitc.ch12.SEvent"/>
<%
session.removeAttribute("event");
//从session对象中移除event对象
%>
</BODY>
</HTML>
Bean对象:SEvent.javapackage com.bitc.ch12;
//定义Bean所属的套件import java.io.*;
import javax.servlet.http.*;//定义SEvent实做HttpSessionBingingListener
public class SEvent implements HttpSessionBindingListener
{
//当Bean物件加入session时, 将自动呼叫此方法
public void valueBound(HttpSessionBindingEvent event)
{
System.out.println("valueBound is called!");
} //当Bean物件从session中移除时, 将自动呼叫此方法
public void valueUnbound(HttpSessionBindingEvent event)
{
System.out.println("valueUnbound is called!");
}
}
解决方案 »
- Exception starting filter struts2 Unable to load configuration.
- <logic:iterate>取值问题?
- 怎么样实现弹出层,并使其他东西无法操作
- servlet中cookie和sendRedirect的问题
- 靠,HTTP缓存的一点有价值详细的中文资料都搜不到.....
- jsp xml 的一些问题。请发表一下你的意见。谢谢
- 关于javascript的一个问题
- 报错位:[Microsoft][ODBC SQL Server Driver]无效的描述符索引 但是我找不出原因(内有代码)
- 郁闷中!想学servlet,却不会配置!!请高手们帮帮忙吧!我真的想学Java!
- java与jsp
- 谁能提供一个例子呀,是不是要在支持的目录下,再建好几个目录,然后分别放什么*.class,*.jar,什么什么的?
- win2000+jsp+tomcat+sqlserver ??????????????????????有文章没??40分。
我不大理解为什么ServletContextListener中将BookDB对象作为一个属性存在Context中,BookDB中包含一个数据库连接。而在每个servlet中,需要数据库连接时,只是简单的在init方法中
bookDB = (BookDB)getServletContext().getAttribute("bookDB");就可以了。我就不明白了,因为Context是各个Session共有的,这样大家岂不是在获得同一个数据库连接吗?