监听器

java-web 过滤器 & 监听器 & 拦截器

99封情书 提交于 2020-03-11 06:03:02
Tomcat 的容器分为四个等级。真正管理 Servlet 的容器是 Context 容器,一个 Context 对应一个 Web 工程。在 Tomcat 的配置文件里能够非常easy发现这一点。例如以下: Context 配置參数 <Context path="/projectOne " docBase="D:\projects\projectOne" reloadable="true" /> servlet规范 servlet/filter/listener/interceptor差别与联系 http://blog.csdn.net/sundenskyqq/article/details/8549932 http://hejiajunsh.iteye.com/blog/1776571 application:上下文对象,是由容器创建和初始化的,它的范围是整个的web应用,并且整个web应用中仅仅会有一个 application对象存在。当webserver关闭时。就会将application对象销毁 session:是一种保存上下文信息的机制,它是针对每一个会话的。它是放在server端。通过SessionId区分的,在浏览器和server结束后,都会将session销毁 request对象:是当client发送请求时,容器就会创建一个ServletRequest对象

javaee Listener

*爱你&永不变心* 提交于 2020-03-10 16:20:56
Servlet API 中定义了几种监听器,大多数尽管不是全部,都将监听某种形式的会话活动,通过实现对应事件的监听器接口订阅某个事件,然后在部署描述符中添加 <listener> 配置,或者在该类中添加注释 @javax.servlet.annotation.WebListener (但不需要同事使用这两种方式) 如果需要,可以在单个类中实现多个监听器接口,当然,你不会希望将不同业务的代码添加到同一个类中。当某个事件发生时,将触发事件发布,然后容器将调用对应事件监听器中的方法。 Listener 监听三个域对象 ServletContext ServletRequest HttpSession 监听三个对象的创建和销毁 ServletContextListener servlet 启动 和 销毁的时候会触发 ServletRequestListener 每次request 请求来 会触发, 刷新下页面就会触发 HttpSessionListener 一个浏览器只创建一次session 创建:java中第一次调用 request.getSession 的时候 销毁: session超时 手动销毁 session 服务器非正常关闭 监听三个对象的属性变化 (添加 替换 删除) ServletContextAttributeListener application

咸鱼入门到放弃13--监听器(Listener)

久未见 提交于 2020-03-10 14:29:27
一、监听器介绍 1.1、监听器的概念      监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是 一个实现特定接口的普通java程序 ,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。 java的事件监听机制 1、事件监听涉及到三个组件:事件源、事件对象、事件监听器 2、当事件源上发生某一个动作时,它会调用事件监听器的一个方法,并在调用该方法时把事件对象传递进去,开发人员在监听器中通过事件对象,就可以拿到事件源,从而对事件源进行操作。 二、JavaWeb中的监听器 2.1、基本概念   JavaWeb中的监听器是Servlet规范中定义的一种特殊类,它用于监听web应用程序中的ServletContext, HttpSession和 ServletRequest等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。 2.2、Servlet监听器的分类   在Servlet规范中定义了多种类型的监听器,它们用于监听的事件源分别为 ServletContext , HttpSession 和 ServletRequest 这三个域对象   Servlet规范针对这三个对象上的操作,又把多种类型的监听器划分为三种类型:

JavaWeb--Listener

假装没事ソ 提交于 2020-03-10 11:55:09
监听器: 专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。 Servlet 监听器: Servlet 规范中定义的一种特殊类,它用于监听 web 应用程序中的 ServletContext, HttpSession 和 ServletRequest 等域对象的创建与销毁事件,以及监听这些域对象中的属性发生修改的事件。 1.监听 ServletContext 对象的创建和销毁事件    ①ServletContextListener   ②HttpSessionListener   ③ServletRequestListener 4. ServletRequestListener & HttpSessionListener   1). 和 ServletContextListener 类似。   2). 利用 ServletRequestListener、HttpSessionListener 以及 ServletContextListener 可以把 request, session     及 application 的生命周期进一步的做一了解.     > request: 是一个请求, 当一个响应返回时, 即被销毁. 当发送一个请求时被创建. 注意, 请求转发的过程是一个 request 对象.      

java基础篇---Servlet监听器

南楼画角 提交于 2020-03-10 11:35:27
在写此篇前,看了一下园友写的,感觉其基础知识归纳的十分全面,我在此就不累赘的写了,链接地址(http://www.cnblogs.com/sherryueda/p/4273169.html), 我就写一下关于监听器的具体应用: 功能是负责监听WEB的各种操作,当相关的事件触发之后将产生事件,并对此事件进行处理,在WEB中可以对application、session、request三种操作进行监听。 对application监听: 对application监听,实际上就是对ServletContext(Servlet上下文)监听,主要使用以下两个接口:ServletContextListener ,ServletContextAttributeListener package com.oumyye.监听器; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; public class ServletContextListenerDemo implements ServletContextListener { public void contextInitialized(ServletContextEvent event) { // 上下文初始化时触发 System

十九 Listener

强颜欢笑 提交于 2020-03-10 11:30:36
Listener 监听器 一 监听器内部原理:其实就是接口回调 需求:A在执行循环,当循环到5的时候,通知B 事先先把某一个对象传递给A ,当A执行到5的时候,通过这个对象来调用B中的方法 但是不是直接传递B的实例,而是传递一个B所实现的接口过去。未来的类只要实现这个接口,都能被A调用。 二、 监听器的三个作用域的销毁和创建 web监听器:8个,划分成三种类型 *监听三个作用域的创建和销毁 *监听三个作用域属性状态变更 *监听httpSession里面存值状态变更 *步骤: 定义一个类,实现接口 注册|配置监听器 <listener> <listener-class>com.listener.MyContextListener</listener-class> </listener> *监听三个作用域的创建和销毁 //pageContext(作用域当前页面) request ---HttpServletRequst session ----HttpSession application ---ServletContext 1. ServletContextListener ServletContext创建: 启动tomcat服务器的时候   ServletContext销毁: 关闭服务器 从服务器移除项目 ServletContext作用: 在ServletCOntext创建的时候

servlet 过滤器(Filter)和监听器(listener)

让人想犯罪 __ 提交于 2020-03-10 11:23:39
Servlet中的过滤器(拦截器)Filter与监听器Listener的作用和区别 Servlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是过滤字符编码、做一些业务逻辑判断等。其 工作原理是,只要你在web.xml文件配置好要拦截的客户端请求,它都会帮你拦截到请求,此时你就可以对请求或响应(Request、 Response)统一设置编码,简化操作;同时还可进行逻辑判断,如用户是否已经登陆、有没有权限访问该页面等等工作。它是随你的web应用启动而启 动的,只初始化一次,以后就可以拦截相关请求,只有当你的web应用停止或重新部署的时候才销毁,以下通过过滤编码的代码示例来了解 它的使用: 1: MyCharsetFilter.java 编码过滤器 2: package ...; 3: import ...; 4: 5: // 主要目的:过滤字符编码;其次,做一些应用逻辑判断等. 6: // Filter跟web应用一起启动 7: // 当web应用重新启动或销毁时,Filter也被销毁 8: public class MyCharsetFilter implements Filter { 9: private FilterConfig config = null; 10: 11: public void destroy() {

监听器(Listener)学习(一)

放肆的年华 提交于 2020-03-10 11:13:26
一、监听器介绍 1.1、监听器的概念   监听器是一个专门用于对其他对象身上发生的事件或状态改变进行监听和相应处理的对象,当被监视的对象发生情况时,立即采取相应的行动。监听器其实就是一个实现特定接口的普通java程序,这个程序专门用于监听另一个java对象的方法调用或属性改变,当被监听对象发生上述事件后,监听器某个方法立即被执行。 1.2、监听器案例——监听window窗口的事件监听器 package com.listener.demo; import java.awt.Frame; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class Demo1 { /** * java的事件监听机制 * 1、事件监听涉及到三个组件:事件源、事件对象、事件监听器 * 2、当事件源上发生某一个动作时,它会调用事件监听器的一个方法,并在调用该方法时把事件对象传递进去, * 开发人员在监听器中通过事件对象,就可以拿到事件源,从而对事件源进行操作。 */ public static void main(String[] args) { Frame f = new Frame(); f.setSize(400, 400); f.setVisible(true); //注册事件监听器 f

Listener 监听器 转

若如初见. 提交于 2020-03-10 11:09:23
Listener 监听器   前言:之前写了一篇关于Filter的文章:http://www.cnblogs.com/hellojava/archive/2012/12/19/2824444.html,现在再来一篇Listener的,Filter和Listener在项目中是经常用到的,巧妙的使用可以达到事半功倍的效果。故把两者的用法总结一下。 1、Listener的定义与作用   监听器Listener就是在application,session,request三个对象创建、销毁或者往其中添加修改删除属性时自动执行代码的功能组件。   Listener是Servlet的监听器,可以监听客户端的请求,服务端的操作等。 2、Listener的分类与使用   主要有以下三类:   1、ServletContext监听   ServletContextListener:用于对Servlet整个上下文进行监听(创建、销毁)。 public void contextInitialized(ServletContextEvent sce);//上下文初始化 public void contextDestroyed(ServletContextEvent sce);//上下文销毁 public ServletContext getServletContext();/

java servlet Listener监听器

核能气质少年 提交于 2020-03-10 11:08:18
现在来说说Servlet的监听器Listener,它是实现了javax.servlet.ServletContextListener 接口的服务器端程序,它也是随web应用的启动 而启动,只初始化一次,随web应用的停止而销毁。主要作用是:做一些初始化的内容添加工作、设置一些基本的内容、比如一些参数或者是一些 固定的对象等等。首先来看一下ServletContextListener接口的源代码: [java] view plain copy public abstract interface ServletContextListener extends EventListener{ public abstract void contextInitialized(ServletContextEvent paramServletContextEvent); public abstract void contextDestroyed(ServletContextEvent paramServletContextEvent); } 下面利用监听器对数据库连接池DataSource的初始化演示它的使用:ListenerTest.java [java] view plain copy import javax.servlet.ServletContext; import javax