实现一个监听器的接口:(有N种)

1.编写一个监听器

实现监听器的接口

//统计网上在线人数:统计Session

public class olinejqt implements HttpSessionListener {

//创建session监听:看你的一举一动

//一旦创建Session就会触发这个事件

public void sessionCreated(HttpSessionEvent se) {

ServletContext ctx = se.getSession ().getServletContext ();

System.out.println (se.getSession ().getId ());

Integer inter = (Integer) ctx.getAttribute ("session");

//判断inter为空就是没有人

if (inter==null){

//加人

inter = new Integer (1); //1人

}else{

int count = inter.intValue ();

inter = new Integer (count+1);//+1=2人

}

ctx.setAttribute ("session",inter);

}

//销毁Session监听

//一旦销毁Session就会触发这一事件

public void sessionDestroyed(HttpSessionEvent se) {

ServletContext ctx = se.getSession ().getServletContext ();

Integer inter = (Integer) ctx.getAttribute ("session");

//判断inter为空就是没有人

if (inter==null){

//加人

inter = new Integer (0); //0人没人了

}else{

int count = inter.intValue ();

inter = new Integer (count-1);//-1

}

ctx.setAttribute ("session",inter);

}

/**

*Session销毁

* 1.手动销毁 getSession() invalidate()

* 2.自动销毁

*/

}

2.在web中配置监听器

<!--注册监听器 -->

<listener>

<listener-class>com.bubbles.filter.jtqlistener.olinejqt</listener-class>

</listener>

3.看情况是否使用

监听器和监听器GUl中理解

过滤器、监听器常见应用

监听器:GUl编程中经常使用

package com.bubbles.filter.Server;import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.awt.event.WindowListener;public class TestPane1 {public static void main(String[] args) {Frame frame = new Frame ("中秋节快乐"); //新建一个窗体Panel panel = new Panel (null);//面板frame.setLayout (null); //设置窗体的布局frame.setBounds (300,300,500,500);frame.setBackground (new Color (0,0,255));//设置背景颜色panel.setBounds (50,50,300,300);panel.setBackground (new Color (0,255,0));//设置背景颜色frame.add (panel);frame.setVisible (true);//监听事件:监听关闭事件frame.addWindowListener (new WindowListener () {public void windowOpened(WindowEvent e) {System.out.println ("打开");}public void windowClosing(WindowEvent e) {System.out.println ("关闭ing");System.exit (0);}public void windowClosed(WindowEvent e) {System.out.println ("关闭ed");}public void windowIconified(WindowEvent e) {}public void windowDeiconified(WindowEvent e) {}public void windowActivated(WindowEvent e) {System.out.println ("激活");}public void windowDeactivated(WindowEvent e) {System.out.println ("未激活");}});}
}
用户登录之后才能进入首页 !用户注销就不能打开主页!1.用户登录之后,向Session中放入用户的数据2.进入主页的时候要判断用户是否已经登录;要求:在过滤中实现!
HttpServletRequest request1 = (HttpServletRequest) servletRequest;
HttpServletResponse response1 = (HttpServletResponse) servletResponse;if (request1.getSession ().getAttribute (Constant.USER_SESSIN)==null) {response1.sendRedirect ("error.jsp");
}filterChain.doFilter (servletRequest,servletResponse); //过滤器往下走

监听器和监听器过滤器常见应用GUl中理解相关推荐

  1. javaweb(11) Listener监听器与Filter过滤器

    javaweb(11) Listener监听器与Filter过滤器 Listener监听器 什么是Listener监听器 Listener 监听器它是 JavaWeb 的三大组件之一.JavaWeb ...

  2. Listener监听器与Filter过滤器

    1.Listener     [1]监听器简介         > Listener是JavaWeb的三大组件之一,Servlet.Filter.Listener         > Li ...

  3. java 监听器 分类_java过滤器和监听器详解 分类: 学习专区

    过滤器 1.Filter工作原理(执行流程) 当客户端发出Web资源的请求时,Web服务器根据应用程序配置文件设置的过滤规则进行检查,若客户请求满足过滤规则,则对客户请求/响应进行拦截,对请求头和请求 ...

  4. android监听器在哪里创建,[转载]android开发中创建按钮事件监听器的几种方法

    第一种:匿名内部类作为事件监听器类 Button button=(Button) findViewById(R.id.button); button.setOnClickListener(new On ...

  5. python监听器_监听器 - python成长中 - 博客园

    监听器介绍 监听器 - Listener 监听器(Listener)是J2EE Servlet模块下的组件 Listener的作用对web应用对象的行为进行监控 通过Listener监听自动触发指定的 ...

  6. java web监听器_JavaWeb监听器

    三大组件: Servlet Listener Filter Listener:监听器 * 它是一个接口,内容由我们来实现: * 它需要注册,例如注册在按钮上! * 监听器中的方法,会在特殊事件发生时被 ...

  7. 三十七 Python分布式爬虫打造搜索引擎Scrapy精讲—将bloomfilter(布隆过滤器)集成到scrapy-redis中...

    Python分布式爬虫打造搜索引擎Scrapy精讲-将bloomfilter(布隆过滤器)集成到scrapy-redis中,判断URL是否重复 布隆过滤器(Bloom Filter)详解 基本概念 如 ...

  8. 工作流实战_23_flowable 任务监听器 事件监听器

    项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base 视频讲解地址 https://www.bilibili.com/video/av7932 ...

  9. vue项目目录结构分析、过滤器、vue文件中基础template、script、style

    项目目录结构: 1.在一个项目中一般的目录结构为:my_project------------项目文件夹|____src--------------------------------存放人可以看懂的 ...

最新文章

  1. 2018年企业运维开发经典面试题
  2. sqlerror.java.1055,at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
  3. Authentication和Authorization的区别
  4. python单例_Python - 单例模式(Singleton)
  5. 具有中央异常处理和VO验证的Spring Data JPA –框架
  6. 【LuoguP3241】[HNOI2015] 开店
  7. “卢十瓦”疯狂预热红米Note 8 10W“快”充不会再有了
  8. MongoDB的日志系统
  9. 如何下载FLASH动画
  10. 解决NLPIR汉语分词系统init failed问题
  11. SpringBoot2.0系列教程(四)Springboot框架自定义消息转换器
  12. html标签加载状态,如何让html页面数据没有加载完前显示loading加载中
  13. 统计检验的基本原理(异常值检验)
  14. 计算机专硕都是数二英二吗,【专硕初试】大改革?英二、数二都不考了?
  15. 简单A/BTest验证图片懒加载效果
  16. 使用html2canvas实现超出浏览器部分截图
  17. QtAndroid详解(6):集成信鸽推送
  18. 水果店圈子:水果店开张怎样做促销活动,水果店开业一般有些什么活动
  19. LVS的NAT、TUNNEL、Full-NAT模式
  20. vlog拍摄与剪辑入门之路

热门文章

  1. 巧用FC5的“添加/删除程序”(转)
  2. 提升领导力的八大建议
  3. Python数据可视化seaborn(五) -- 分类统计图
  4. 频率与周期的对应关系
  5. 千岛湖两日游记,啤酒小镇、天屿山、骑龙巷、东南湖区游玩经验
  6. 【MATLAB-app】摸索2天,果断放弃gui,彻底爱上了appdesigner。
  7. java位数不足自动左补0
  8. [Java]使用ArrayList类来把54张扑克牌发给3位玩家各17张,剩下3张是底牌
  9. [译] 从原型图到成品:步步深入 CSS 布局
  10. Cocoapods:podspec与使用过程中遇到的问题