以文本方式查看主题 - 课外天地 李树青 (http://www.njcie.com/bbs/index.asp) -- JavaEE网站开发课件 (http://www.njcie.com/bbs/list.asp?boardid=20) ---- 关于会话事件的处理 (http://www.njcie.com/bbs/dispbbs.asp?boardid=20&id=691) |
-- 作者:admin -- 发布时间:2009/4/7 23:04:21 -- 关于会话事件的处理 ASP.NET程序员经常要在global.asax文件内处理Application_start,Session_Start等事件,如:用户验证、重定向不同编码页面等,十分方便,然而一向颇受欢迎的JSP并不很支持这种处理,除了商业化服务器JRun支持global.jsa以外,竟连应用率极高的开放源码服务器Tomcat都不支持,这给JSP的开发造成不小障碍,虽然早期Tomcat(5.0以前版本)下可以通过以下方式实现Session-start事件处理 一)使用HttpSessionBindingListener 2、定义MyListener类 import javax.servlet.ServletContext; public class MyListener implements HttpSessionBindingListener { public MyListener() { public MyListener(ServletContext context) { public void valueBound(HttpSessionBindingEvent event) { public void valueUnbound(HttpSessionBindingEvent arg0) { 二)使用HttpSessionListener import javax.servlet.ServletRequestEvent; public final class MyListener implements HttpSessionListener, public void requestInitialized(ServletRequestEvent sre) { public void sessionCreated(HttpSessionEvent event) { public void sessionDestroyed(HttpSessionEvent event) { 在开始接到客户端请求(requestInitialized)时,获得当前的HttpRequest对象保存在私有成员 request 中,这样在Session创建时可以实现对Session用户进行验证,以及关闭Session,限制IP地址访问等,这里仅以记录Session来源为例(SessionListener.java) 编译这个类后还要在web.xml的host元素内加入以下行: 本文适用环境:Tomcat 5.02,J2SE1.41 [此贴子已经被作者于2010-12-12 10:50:16编辑过]
|