6月5日 servlet监听器

 

Servlet 监听器的分类
   按监听的对象划分
1.用于监听应用程序环境对象(ServletContext)的事件监听器
l

2.用于监听用户会话对象(HttpSession
)的事件监听器
3.用于监听请求消息对象(ServletRequest)的事件监听器
l 
按监听的事件类项划分
1.
用于监听域对象自身的创建和销毁的事件监听器()
  2. 用于监听域对象中的属性的增加和删除的事件监听器()
域对象创建和销毁的事件监听器就是用来监听 ServletContext, HttpSession, HttpServletRequest 这三个对象的创建和销毁事件的监听器。
l 域对象的创建和销毁时机:
1 ServletContext (ServletContextListenner 接口)
         *  创建:是在 Web 服务器启动并加载某个 Web 应用程序时创建相应的 对象,
public void contextInitialized(ServletContextEvent sce) 
         *  销毁:是在 Web 服务器关闭或卸载时为每个 Web 应用程序销毁相应的
         ServletContext 对象。
public void contextDestoyed(ServletContextEvent sce) 
2 HttpSession   HttpSessionListenner 接口)
            创建:是在浏览器开始与服务器会话时创建,
pulic void sessionCreated(HttpSessionEvent se)
            销毁:是在调用HttpSession.invalidate();超过了Sessiond的最大有效时
                       间间隔,服务器进程被停止的时候。
pulic void sessionDestoryed(HttpSessionEvent se)
3  ServletRequest   ServletRequestListenner 接口)
               *创建:每次请求开始时创建,
 public void requestInitialized(ServletContextEvent sce) 
               *销毁: 每次访问结束后销毁
public void requestDestoyed(ServletContextEvent sce) 

3.用于监听绑定到HttpSession域中的某个对象的状态的事件监听器() 

HttpSessionBindingListenner接口
它定义了JavaBean对象被绑定到HttpSession对象中和从HttpSession中取出时候调用的方法:
valueBound方法:  valueUnbound方法
 
案例统计在线人数和注册人数
 
 
 
开发步骤:
第一步:
* 前台 所有用户不登陆(游客) login.jsp
* 后台 显示游客的信息 onlinenum.jsp

执行:
* 定义SessionUser extends User implements HttpSessionBindingListener
* 定义ServletContextList的实现类,初始化map集合
Map<String,SeesionUser> map=new HashMap<String,SessionUser>()
放置到ServletContext作用域中
* 定义login.jsp页面
* 获取ip
* 实例化SessionUser
* 放置sessionUser到作用域中
* 在HttpSessionBindingListener 接口中的valueBound方法中增加
* 把sessionUser放置到Map集合中

第二歩:
* 前台 用户登陆 loginServlet title.jsp
和 chatper.jsp
* 后台 显示游客的信息和登录用户的信息 onlinenum.jsp
第三步:
* 将登录用户转为游客
第四步:
* 清除长时间不予系统交互的用户(游客)
onlinenum.jsp 后台显示信息,
login:登陆页面
chatper.jsp  只有登录用户才能访问该页面
Servlet监听器 初始化一些变量
session监听器:当session过期或者消亡时候从集合中移除
Loginservlet:
removeSerlvet:
javabean:
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值