监听器

第7章 监听器Listener

霸气de小男生 提交于 2020-03-10 11:07:04
Listener概述 Listener的使用 使用Listener需要实现相应的Listener接口。 public class SessionListenerTest implements HttpSessionListener { public void sessionCreated(HttpSessionEvent se) { HttpSession session = se.getSession(); System.out.println(" 新创建了一个 session: " + session); } public void sessionDestroyed(HttpSessionEvent se) { HttpSession session = se.getSession(); System.out.println(" 销毁了一个 session: " + session); } } 以上代码实现了HttpSessionListener接口。创建Session时会是服务器调用SessionCreated()方法,销毁Session时服务器调用sessionDestroyed()方法。他们都以HttpSessionEvent对象为参数,可以从该参数中获取session。Listener需要在web.xml中配置才能生效。 配置如下: <listener>

Listener小知识

让人想犯罪 __ 提交于 2020-03-10 06:11:03
Listener小知识 一、基础 1、简介 监听器,负责对整个WEB环境的监听,当被监听的对象发生改变时立即调用相应的方法进行处理。 2、监听器术语 (1)事件源 :被监听的对象,目标对象 (2)监听器对象 :用于监听事件源的对象 (3)注册(绑定) :将监听器对象注册给事件源,当事件源发生变化,监听对象对应执行 (4)事件 :事件源行为,即事件源发生变化 (5)事件对象 :在监听器对象中得到事件源 3、配置监听器 (1)web.xml < listener > < listener - class > < / listener - class > 指定初始化参数 < context - param > < / listener > (2)注解 : @WebListener 4、内部机制 接口回调 二、域对象 1、ServletRequest对象监听 (1)作用:监听Request对象的创建或者删除 (2)包: javax.servlet.ServletRequestListener (3)request创建方法-----请求开始创建 requestInitialized ( ServletRequestEvent sre ) 访问html / jsp / servlet 均可创建request (4)request销毁方法-----请求结束时销毁 requestDestroyed

Node.js EventEmitter事件

我怕爱的太早我们不能终老 提交于 2020-03-09 09:53:30
Node.js EventEmitter Node.js 所有的异步 I/O 操作在完成时都会发送一个事件到事件队列。 Node.js 里面的许多对象都会分发事件:一个 net.Server 对象会在每次有新连接时触发一个事件, 一个 fs.readStream 对象会在文件被打开的时候触发一个事件。 所有这些产生事件的对象都是 events.EventEmitter 的实例。 EventEmitter 类 events 模块只提供了一个对象: events.EventEmitter。EventEmitter 的核心就是事件触发与事件监听器功能的封装。 你可以通过require("events");来访问该模块。 // 引入 events 模块 var events = require('events'); // 创建 eventEmitter 对象 var eventEmitter = new events.EventEmitter(); EventEmitter 对象如果在实例化时发生错误,会触发 error 事件。当添加新的监听器时,newListener 事件会触发,当监听器被移除时,removeListener 事件被触发。 下面我们用一个简单的例子说明 EventEmitter 的用法: //event.js 文件 var EventEmitter = require(

spring filter lister servlet

风流意气都作罢 提交于 2020-03-05 14:21:42
https://blog.csdn.net/nacey5201/article/details/8547772 https://blog.csdn.net/xwl617756974/article/details/7451773 springboot 配置 Servlet、Filter、Listener spring 加入了web作用域 <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/classes/webAllbean.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <listener> <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class> </listener> # 早期版本的web容器(Servlet2.4以前),那么你要使用一个javax.servlet.Filter的实现

Redis Ehcached 都是干什么的

拈花ヽ惹草 提交于 2020-03-05 13:37:27
Redis 属于独立的运行程序,需要单独安装后,使用JAVA中的Jedis来操纵。因为它是独立,所以如果你写个单元测试程序,放一些数据在Redis中,然后又写一个程序去拿数据,那么是可以拿到这个数据的。 Ehcache 与Redis明显不同,它与java程序是绑在一起的,java程序活着,它就活着。譬如,写一个独立程序放数据,再写一个独立程序拿数据,那么是拿不到数据的。只能在独立程序中才能拿到数据。ehcache是Hibernate中默认的CacheProvider,直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。 缓存数据有两级:内存和磁盘,因此无需担心容量问题,提供Hibernate的缓存实现 。 Ehcache特点 1. 够快 Ehcache的发行有一段时长了,经过几年的努力和不计其数的性能测试,Ehcache终被设计于large, high concurrency systems. 2. 够简单 开发者提供的接口非常简单明了,从Ehcache的搭建到运用运行仅仅需要的是你宝贵的几分钟。其实很多开发者都不知道自己用在用Ehcache,Ehcache被广泛的运用于其他的开源项目 比如:hibernate 3.够袖珍 关于这点的特性,官方给了一个很可爱的名字small foot print ,一般Ehcache的发布版本不会到2M,V 2.2.3

201521123037 《Java程序设计》第6周学习总结

痞子三分冷 提交于 2020-03-02 20:45:43
1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装、继承、多态为核心概念画一张思维导图,对面向对象思想进行一个总结。 1.2 可选:使用常规方法总结其他上课内容。 接口与抽象类:接口与抽象类可以定义为实现或继承的类所共有的属性与方法,简化代码;都不能被实例化;一个类可实现多个接口,但只能继承一个类。 对象克隆:clone()方法是所有类的父类Object的方法且权限为protected,在类中想要覆盖clone()时,必须要实现Clonealbe接口(该接口为空,表示一个标志),方法的权限为public并在方法中调用父类方法(super.clone())。 所有的数组类型均包含一个clone方法,不需要进行覆盖。 嵌套类等价于内部类,在类中编写类。内部类分为静态和非静态。对于非静态内部类,可以访问外部类的所有属性和方法(包括private权限下的),内部类可以隐藏外部类属性(属性相同时,内部类中调用自身的属性),构造时需要先构造外部类。对于静态内部类,相当于全新的类,可直接建立;不能访问外部类中的非静态属性和方法。局部类与内部类相似,但它是在方法中编写类。 匿名类与Lambda表达式。匿名类可对所用次数不多的类进行编写,节省代码。Lambda表达式通过 参数->表达式或程序块 对程序进一步化简。 图形界面的编写、GUI中的事件处理。 2. 书面作业 1

小博老师解析Java核心技术 ——JSwing鼠标监听事件

梦想的初衷 提交于 2020-03-01 09:42:04
[引言] 我们在学习Java编程的时候,如果需要开发客户端窗体类型的程序,可以使用JDK中的awt和swing库。本文开始小博老师就继续为大家演示Java窗体编程中的各类监听器,今天主要讲解鼠标监听器中的事件。 [步骤阅读一]鼠标监听器事件列表 监听器的主要作用,是为窗体中的控件增加与用户行为之间的交互功能,使得整个窗体应用程序拥有活跃的元素,加强用户体验性。 其中常用监听器主要分为:鼠标监听器(MouseListener)、鼠标手势监听器(MouseMotionListener)、键盘监听器(KeyListener)、窗体监听器(WindowListener)、行为监听器(ActionListener)等顶层接口。 今天 小博老师 就为大家主要讲解鼠标监听器(MouseListener),我们首先来了解一下鼠标监听器可以与用户的哪些行为进行交互,它们均以接口中的方法来封装: void mouseReleased(MouseEvent e):鼠标释放事件 void mousePressed(MouseEvent e):鼠标按下事件 void mouseExited(MouseEvent e):鼠标离开事件 void mouseEntered(MouseEvent e):鼠标进入事件 void mouseClicked(MouseEvent e):鼠标点击事件 这些方法均拥有一个形参

Zend Framework 2 中的EventManager的使用方法

那年仲夏 提交于 2020-02-29 16:28:10
Matthew Weier O'Phinney,资深的PHP工程师。目前在Zend Technologies工作,是Zend Framework的Leader。下面的这篇文章翻译自作者的博客上的一篇文章:Using the ZF2 EventManager。 今年早些时候,我写了一篇关于Aspects, Intercepting Filters, Signal Slots, 和 Events的文章。在这篇文章中我对这三种比较相似的处理异步编程和交叉应用的策略做了比较。 我为了写那篇文章而做的研究后来被应用到了Zend Framework 2中的“SignalSlot”设计中,还有全新的“EventManager”的重构中工作中。现在在这篇文章将做进一步探讨。 目录 Assumptions(前提) Terminology(术语) Getting Started(开始) EventCollection vs EventManager(EventCollection 和 EventManager) Global Static Listeners(全局静态监听器) Listener Aggregates(监听器聚合) Introspecting Results(内省结果) Short Circuiting Listener Execution(短路监听器的执行) Keeping it in

oracle dg 备库不同步主库数据

会有一股神秘感。 提交于 2020-02-28 04:15:21
今天遇到一个数据库同步问题,主库被关闭,重启主库后,备库不能正常同步主库数据。只有当手动切换归档日志的时候,备库才能和主库一致。 这个问题的解决方法: 重启备库,重新应用归档日志。 操作步骤如下: //关闭备库监听器 lsnrctl stop //关闭备库 sqlplus / as sysdba alter database recover managed standby database cancel; shutdown immediate; //启动备库 startup nomount; alter database mount standby database; alter database open read only; alter database recover managed standby database using current logfile disconnect from session; //启动备库监听器 quit; lsnrctl start 来源: https://www.cnblogs.com/qiu2013/p/4825687.html

关于webapp——session存储时间

喜欢而已 提交于 2020-02-28 00:57:19
设置session失效时间 在一般系统登录后,都会设置一个当前session失效的时间,以确保在用户长时间不与服务器交互,自动退出登录,销毁session(or用户退出会话) 具体设置的方法有三种: 1.在web容器中设置(以tomcat为例) 在tomcat-7.0\conf\web.xml中设置,以下是tomcat7.0中默认配置: <session-config> <session-timeout>30</session-timeout> </session-config> <!-- session-timeout 里面存的是分钟数 --> tomcat默认session超时时间为30分钟,可以根据需要修改,负数或0为不限制session失效时间 这里要注意这个session设置的时间是根据服务器来计算的,而不是客户端。所以如果在调试程序,应该是修改服务器端时间来测试,而不是客户端 PS:实际测试并不好使,但是说不出哪里不对,感觉并不是session失效了,而是session丢失了(有可能是页面走的时候报错然后把session丢失了?不可能哇) 2.在工程的web.xml中设置 <!--时间单位为分钟--> <session-config> <session-timeout>15</session-timeout> </session-config> 3.通过java代码设置