java_listener监听器教程及实例

java_listener监听器教程及实例
java_listener监听器教程及实例

一.基础知识

JSP/Servlet 中的事件处理写过AWT或Swing程序的人一定对桌面程序的事件处理机制印象深刻:通过实现Listener接口的类可以在特定事件(Event)发生时,呼叫特定的方法来对事件进行响应。

其实我们在编写JSP/Servle程序时,也有类似的事件处理机制,所不同的是在JSP/Servlet 中是在web.xml中注册Listener,由Container在特定事件发生时呼叫特定的实现Listener 的类。

1. Servlet中的Listener和Event:

在JSP 2.0/Servlet 2.4中,共有八个Listener接口,六个Event类别。ServletContextListener接口

[接口方法] contextInitialized()与 contextDestroyed()

[接收事件] ServletContextEvent

[触发场景] 在Container加载Web应用程序时(例如启动 Container之后),会呼叫contextInitialized(),而当容器移除Web应用程序时,会呼叫contextDestroyed ()方法。ServletContextAttributeListener

[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()

[接收事件] ServletContextAttributeEvent

[触发场景] 若有对象加入为application(ServletContext)对象的属性,则会呼叫attributeAdded(),同理在置换属性与移除属性时,会分别呼叫attributeReplaced()、attributeRemoved()。

HttpSessionListener

[接口方法] sessionCreated()与sessionDestroyed ()

[接收事件] HttpSessionEvent

[触发场景] 在session (HttpSession)对象建立或被消灭时,会分别呼叫这两个方法。

[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()

[接收事件] HttpSessionBindingEvent

[触发场景] 若有对象加入为session(HttpSession)对象的属性,则会呼叫attributeAdded(),同理在置换属性与移除属性时,会分别呼叫attributeReplaced()、attributeRemoved()。

HttpSessionActivationListener

[接口方法] sessionDidActivate()与 sessionWillPassivate()

[接收事件] HttpSessionEvent

[触发场景] Activate与Passivate是用于置换对象的动作,当session对象为了资源利用或负载平衡等原因而必须暂时储存至硬盘或其它储存器时(透过对象序列化),所作的动作称之为Passivate,而硬盘或储存器上的session对象重新加载JVM时所采的动作称之为Activate,所以容易理解的,sessionDidActivate()与 sessionWillPassivate()分别于Activeate后与将Passivate前呼叫。

ServletRequestListener

[接口方法] requestInitialized()与 requestDestroyed()

[接收事件] RequestEvent

[触发场景] 在request(HttpServletRequest)对象建立或被消灭时,会分别呼叫这两个方法。

ServletRequestAttributeListener

[接口方法] attributeAdded()、 attributeReplaced()、attributeRemoved()

[接收事件] HttpSessionBindingEvent

[触发场景] 若有对象加入为request(HttpServletRequest)对象的属性,则会呼叫attributeAdded(),同理在置换属性与移除属性时,会分别呼叫attributeReplaced()、attributeRemoved()。

[接口方法] valueBound()与valueUnbound()

[接收事件] HttpSessionBindingEvent

[触发场景] 实现HttpSessionBindingListener接口的类别,其实例如果被加入至session (HttpSession)对象的属性中,则会呼叫 valueBound(),如果被从session(HttpSession)对象的属性中移除,则会呼叫valueUnbound(),实现 HttpSessionBindingListener接口的类别不需在web.xml中设定。

2.如何注册Servlet中的事件

实现上面这几个接口的类别,除了HttpSessionBindingListener外,必须在web.xml中向容器注册,容器才会在对应的事件发生时呼叫对应的类别,如:

< listener >

< listener-class > demo.servlet.listener.CustomServletContextListener

3.Java类简单实例

==========

//侦听启动和关闭

import javax.servlet.ServletContextListener;

import javax.servlet.*;

public class TigerListen implements ServletContextListener {

public void contextInitialized(ServletContextEvent sce)

{

System.out.print("Init") ;

}

public void contextDestroyed(ServletContextEvent sce)

{

System.out.print("Destroved") ;

}

}

对应的web.xml是

============

xmlns="https://www.360docs.net/doc/8910562128.html,/xml/ns/j2ee"

xmlns:xsi="https://www.360docs.net/doc/8910562128.html,/2001/XMLSchema-instance"

xsi:schemaLocation="https://www.360docs.net/doc/8910562128.html,/xml/ns/j2ee

https://www.360docs.net/doc/8910562128.html,/xml/ns/j2ee/web-app_2_4.xsd">

TigerListen

二.高级应用

Java Servlet Listener实现定时监听

分两步走:

(1)实现 javax.servlet.ServletContextListener 接口的两个方法:contextInitialized和contextDestroyed

contextInitialized:当Servlet容器启动时会执行

contextDestroyed:当Servlet容器停止时会执行

(2)在contextInitialized()中加入需要监听的程序,并由 java.util.Timer 的schedule()方法来控制监听程序执行的频率

DEMO(这是我的一个短信回复监听的程序原型,精简了一下)

ReplyListener.java

package com. jackson.jcms;

import javax.servlet.*;

public class ReplyListener implements ServletContextListener {

private ReplyTimer rt = null;

public void contextInitialized(ServletContextEvent event) {

String status = "[SYS] SMS reply listener start .";

event.getServletContext().log(status);

System.out.println(status);

rt = new ReplyTimer(1);

rt.start();

}

public void contextDestroyed(ServletContextEvent event) {

String status = "[SYS] SMS reply listener stop .";

event.getServletContext().log(status);

System.out.println(status);

if (rt != null) {

rt.stop();

}

}

}

-------------------------------------------------

ReplyTimer.java

package com. jackson.jcms;

import java.util.*;

public class ReplyTimer {

private final Timer timer = new Timer();

private final int min;

public ReplyTimer(int minutes) {

min = minutes;

}

public void start() {

Date date = new Date();

timer.schedule(new ReplyTask(), date, min * 60 * 1000);

}

public void stop() {

timer.cancel();

}

}

-------------------------------------------------

ReplyTask.java

package com. jackson.jcms;

import java.util.*;

public class ReplyTask extends TimerTask {

public void doSomething() {

System.out.println("[SYS] SMS reply listener running ");

}

public void run() {

doSomething();

}

}

将编译好的class文件放入WEB-INF/classes中,最后别忘记在Servlet容器中当前WEB应用的web.xml中加入监听语句

com.jackson.jcms.ReplyListener

Activiti 监听器的配置使用

Activiti 监听器的配置使用 一)流程监听器的配置 此监听器的作用是记录流程的启动和结束事件日志,详细参考类 cn.bc.workflow.activiti.delegate.ProcessLogListener 用Activiti Designer打开流程图,点击空白处,在Properties的Listeners中如下配置流程的start和end两个事件: 二)任务监听器的配置 此监听器的作用是记录任务的创建、分派和完成的事件日志,详细参考类 cn.bc.workflow.activiti.delegate.TaskLogListener 用Activiti Designer打开流程图,点击要配置的任务节点,在Properties的Listeners中如下配置任务的事件监听:

如下是自动将任务分配到岗位或岗位内用户的任务监听器的配置: 详见类cn.bc.workflow.activiti.delegate.Assign2GroupUserListener,监听器在流程图中需要配置为"java class"类型,Fields参数中有两种配置方式:1)岗位名称+保存组织ID的流程变量名(全局变量),2)岗位编码。 监听器会根据配置方式先获取岗位,然后自动获取岗位内的用户信息,如果岗位内只有一个用户,就直接将任务分配给此用户,否则分配给岗位。

三)流向或网关监听器的配置 此监听器的作用是记录流向的执行事件日志,在平台中是可选的,视具体情况按需配置,详细参考类cn.bc.workflow.activiti.delegate.FlowLogListener 用Activiti Designer打开流程图,点击要配置的流向或网关,在Properties的Listeners 中类似任务监听器的方式进行配置即可:

电脑主板维修入门简单易学易懂

电脑主板维修入门 一、查板方法: 1.观察法:有无烧糊、烧断、起泡、板面断线、插口锈蚀。 2.表测法:+5V、GND电阻是否是太小(在50欧姆以下)。 3.通电检查:对明确已坏板,可略调高电压0.5-1V,开机后用手搓板上的IC,让有问题的芯片发热,从而感知出来。 4.逻辑笔检查:对重点怀疑的IC输入、输出、控制极各端检查信号有无、强弱。 5.辨别各大工作区:大部分板都有区域上的明确分工,如:控制区(CPU)、时钟区(晶振)(分频)、背景画面区、动作区(人物、飞机)、声音产生合成区等。这对电脑板的深入维修十分重要。 二、排错方法: 1.将怀疑的芯片,根据手册的指示,首先检查输入、输出端是否有信号(波型),如有入无出,再查IC的控制信号(时钟)等的有无,如有则此IC坏的可能性极大,无控制信号,追查到它的前一极,直到找到损坏的IC为止。 2.找到的暂时不要从极上取下可选用同一型号。或程序内容相同的IC背在上面,开机观察是否好转,以确认该IC是否损坏。 3.用切线、借跳线法寻找短路线:发现有的信线和地线、+5V或其它多个IC不应相连的脚短路,可切断该线再测量,判断是IC问题还是板面走线问题,或从其它IC上借用信号焊接到波型不对的IC上看现象画面是否变好,判断该IC的好坏。 4.对照法:找一块相同内容的好电脑板对照测量相应IC的引脚波型和其数来确认的IC是否损坏。 5.用微机万用编程器(ALL-03/07)(EXPRO-80/100等)中的ICTEST软件测试IC。 三、电脑芯片拆卸方法: 1.剪脚法:不伤板,不能再生利用。 2.拖锡法:在IC脚两边上焊满锡,利用高温烙铁来回拖动,同时起出IC(易伤板,但可保全测试IC)。 3.烧烤法:在酒精灯、煤气灶、电炉上烧烤,等板上锡溶化后起出IC(不易掌握)。 4.锡锅法:在电炉上作专用锡锅,待锡溶化后,将板上要卸的IC浸入锡锅内,即可起出IC又不伤板,但设备不易制作。 5.电热风枪:用专用电热风枪卸片,吹要卸的IC引脚部分,即可将化锡后的IC起出(注意吹板时要晃动风枪否则也会将电脑板吹起泡,但风枪成本高,一般约2000元左右) 主板维修基础

电脑主板常见故障维修实例

电脑主板常见故障维修实例 一、主板插槽(接口)常见故障与维修 故障现象1:一台杂牌i845EP主板主机频繁死机,振动机箱后死机频率下降。检修过程:一般为主板或板卡有接触不良。打开机箱对主板、板卡除尘,并重插板卡后故障排除。故障现象2:一台AthlonXP 1600主机,在双硬盘对拷后,重新连接主硬盘并开机,机器提示找不到任何IDE设备。检修过程:重启进入CMOS参数设置后,发现检测不到任何IDE 设备。考虑到硬盘对拷后出现故障,检查IDE接线,发现硬盘线接到Slave口上,更换为Master接口,开机恢复正常。 二、主板开机电路常见故障与维修 故障现象1:一块P6VXM2T(威盛芯片组)主板,当按下主机电源开关时,不开机,主机指示灯不亮。检修过程:经检查发现PW-0N开关正极电压为1.0V,正常情况下应为3.3V 以上,此电压变低大多数为南桥损坏或与其相连的门电路短路。用万用表测PW-0N开关正极的对地数值为100Ω,正常应为600以上,说明此电路有明显短路的地方,经查找电路PW-0N正极通过R217(680)的限流电阻连接R213(472)的上位电阻,在经过C99电容滤波最后进入南桥,首先排除

C99短路,拆下C99再测量PW-0N正极的对地数值还是120,这种情况可能是南桥短路,为了证实是不是南桥内部短路造成PW-0N开机电压过低,拆下R217,在测R217两端的对地数值,发现进南桥一边的对地数值为600多,说明故障不在南桥,在仔细查找线路发现PW-0N正极还与一门电路 74HCT74(U11)相连,更换此门电路芯片,故障排除。故障现象2:一杂牌D33007黄色大板不通电。检修过程:查开机电路部分无异常,查南桥待机电压异常,沿线路查找发现3.3V待机电压由南桥旁的1117提供输,1117输入端又由HIP6501ACB提供,经查1117输入电压异常,故更换 HIP6501ACB故障排除。故障现象3:KTT主板不加电。检修过程:测POWER SW正极电压为1.2V,正常为3.3V以上。关电后,用万用表检测POWER SW的正极对地数值,只有180数值正常情况应为500数值以上,说明此线路有短路的地方,沿此线路查找并画出此主板开机电路,根据此电路图分析,最有可能短路的是U4和C290。于是用热风台焊下 U4,加电测试故障没有排除,在拆下C290,经加电测试故障排除。故障现象4:845u1tra主板不触发。检修过程:首先查南桥的待机电压,3.3V和1.8V均正常,POWER SW电压也正常,用示波器测南桥边的晶振的波形也正常,在测I/O 芯片(W83627)第67脚电压为3.3V,点开机时此脚没有跳变,此信号受I/O芯片控制,3.3V电压由南桥待机电压提供,

主板开机触发电路维修实例

主板开机触发电路维修实例 6.5.2 主板开机触发电路维修实例 1. 故障现象:硕泰克SL-85DR2主板不加电 维修过程:按照开机电路的检修流程检修发现I/O(67脚)PS OUT(#),输出信号为0.8V,此电压为由南桥提供受I/O 控制,正常情况下点开机时此点由3.3V到0V的跳变,根据笔者多年的维修经验,这种情况大多数是因为南桥待机电压3.3V供电不正常或南桥内部短路造成待机电压过低,加电后用手触摸南桥并没有温度,一般情况下如果是南桥短路在没有开机之前南桥表面会有一定温度,南桥没有发烫应首先从南桥待机电压3.3V 的产生电路开始入手,大多数主板南桥的3.3V待机电压都是由稳压器产生,如1084、1117等,经查找南桥边并无稳压器这类的管子,于是用万用表二极管档查找3.3V供电源头发现其与一八脚芯片相连,仔细观察其型号为A22BA(Q29)如6-3所示,此芯片是一个八脚的场效应管,内部集成两个场效应管,南桥的3.3V待机电压是由此管提供,测量A22BA(Q2)的S极为0.8V,DG为5V,G极为5V,S极输出0.8V是不正常的,这种情况也有可能是Q29输出端短路,测S极的对地数值正常,于是更换Q29加电后再测I/O芯片67脚,PS OUT信号为3.3V点开机时有跳变(3.3-0V)加上显示之后开机正常故障排除。 补充:硕泰克此款主板不加显卡不开机,在AGP接口边有一跳线JP2,跳1-2必须加显卡才能开机,跳2-3,不加显卡也可开机,此跳线没有跳线说明,希望大家在修到此款主板应引起注意,以免造成不必要的麻烦。 如图6-3 SL -85DR2主板开机触发电路 2.故障现象:P6VXM2T(威盛芯片组)主板不加电 检修过程:经检查发现PWR-SW待机电压为1.2V,正常情况下应为3.3V以上,此电压变低大多数为南桥损坏或与其相连的门电路短路,首先用万用表档测PWR开关正极的对地数值为120Ω,正常应为600以上,说明此电路有明显短路的地方,经查找电路PWR正极通过R217 (680)的限流电阻连接R213(472)的上位电阻,在经过C99电容滤波最后进入南桥,首先排除C99短路,拆下C99 再测量PWR正极的对地数值还是120,这种情况可能是南桥短路,为了证实是不是南桥内部短路造成PWR开机电压过低,拆下R217,在测R217两端的对地数值,发现进南桥一边的对地数值为600多,说明故障不在南桥,在仔细查找线路发现PWR正极还与一门电路(U11)相连,此门电路的型号为74HCT74如图6-4所示,更换此门电路芯片,故障排除。由于U11短路造成PWR电压过低,PWR,不能触发。 图6-4 P6VXM2T开机触发电路 3. 故障现象:KTT主板不加电

芯片级主板维修经典案例

第一节维修步骤 BFT 维修的基本步骤与ICT/ATE 维修步骤基本相同,只是分析过程,使用的维修工具和分析手法更多更复杂。 一、了解不良状况 主板不良故障一般分为三类: 关键性故障,是指主板出现严重故障,未能完成POST 过程,不能给出任何提示, 表现为无影、无声甚至无法开机上电等。 一般性故障,是指主板部分功能异常,但不引起主板致命性故障,一般在测试过 程中会给出错误提示,表现为某外设或内部部件测试Fail。 除此之外的第三类故障能够完成POST,但运行或测试过程中出现无法给出提示的故障,表现为无法进入系统、中途文件机、中途断电、测试异常、显示画面异常等。 根据不良状况区分其类型做出相应分析动作。 二、确认不良现象 利用维修工具,模拟测试环境,对主板进行测试与分析判断其不良现象与想象描 述是否吻合,确认其真正不良现象。只有在确认其真正不良现象才有利于正确的分析和判断不良故障。同时在此步骤中排除误测现象。注意,确认误测必须反复测试,同时要完全模拟BFT测试环境。 三、分析故障原因 分析故障原因是整个维修过程中的重点和难点,确认不良现象后利用测试测量 工具设备根据主板维修的技能知识以及维修方法经验找出故障原因。 四、维修 这里指对故障原因做出处理,如更换不良元件,Rework不良焊接,刷新记录、修 补线路等。 五、维修确认 指对维修后的主板从外观到功能的一个全面检测,以确认维修OK且未引起其 它不良现象。 第二节维修基本方法

主板不良故障现象很多,针对不同的不良现象,维修思路和方法各不相同。但一些基本的维修思路和方法经常用到,列举如下: 一、观察法 观察法是一个最基本、最直接,而且在些不良现象时最有效的一种方法。这里的观察法不仅仅是指对主板外观的检查,还有测试过程中对测试画面、测试设备、诊断工具的异常观察。 观察法主要用在: 1了解不良状况后针对不良相关部位重点检查如元件表面有无损害、焊接是否不良、有无断线、接口弹片是否变形、插件引脚是否异常等。 2加电过程中元件是否发热、Debug诊断卡指示灯/代码是否正常。 3测试过程中测试画面是否有异常出现 二、最小系统法 最小系统法是一个最常用的方法,主要用在分析不良故障时。其原理是针对不良现象,尽可能将外设甚至内存减少到最少,在最小的系统环境下测试主板,观察不良,将不良原因缩到最小范围,最终找出故障。 最小系统法主要用在: 1档机故障分析,很多外部设备会引起系统文件机,在逐步减少外设的同时测试主板,观察档机现象是否依然存在,如减少某一外设时档机现象消除,可确认为该外设相关模块故障引起档机。 2无显示故障分析。 3中途断电故障分析。 4无法进入操作系统故障分析。 其使用方法原理都类似。 三、最大系统法 与最小系统法相反的是最大系统法,其原理正好相反,是尽量增加外设以及提高主板的工作负载,除了插上所有的外设外还尽量使主板工作在高CPU 频率,高内存频率和大容量,而且使系统工作在处理大量数据的程序中如运行3D 等。 最大系统法主要用在两个方面: 1确认不良时,在确认不良过程中常会遇到发现不了不良状况,为了避免误判

Java+Swing+常用事件和监听器接口

Swing 常用事件和监听器接口 AncestorEvent AncestorListener ancestorAdded(AncestorEvent e) ancestorMoved(AncestorEvent e) ancestorRemoved(AncestorEvent e) CaretEvent 通知感兴趣的参与者事件 源中的文本插入符已经发 生更改 CaretListener caretUpdate(CareEvente) ChangeEvent 通知感兴趣的参与者事件 源中的状态已经发生更改 ChangeListener stateChanged(ChangeEvent e) HyperlinkEvent 通知感兴趣的参与者发生 了与超文本链接有关的事 情 HyperlinkListener hyperlinkUpdate(HyperlinkEvent e) InternalFrameEvent 以事件源的形式添加对J InternalFrame对象的支持的 A WTEvent InternalFrameListener internalFrameActivated(InternalFrameEvent e) internalFrameClosed(InternalFrameEvent e) internalFrameClosing(InternalFrameEvent e) internalFrameDeactived(InternalFrameEvent e) internalFrameDeiconified(InternalFrameEvent e) internalFrameIconified(InternalFrameEvent e) internalFrameOpened(InternalFrameEvent e) ListDataEvent 定义一个列表更改的事件ListDataListener contentsChanged(ListDataEvent e) intervalAdded(ListDataEvent e) intervalRemoved(ListDataEvent e)

[主板维修] 图文手把手教你用示波器修板,不会用的就进来了!!!!

[主板维修]图文手把手教你用示波器修板,不会用的就进来了!!!! 看到论坛有很多新手在问示波器怎么用,苦苦寻找示波器的教程.....以前用的大多是那种很大台笨重的模拟示波器,调节非常麻烦,几十M的价格都要好几千,小弟我也买不起,所以至今是只见过猪走路,没吃过猪肉。现在都是数字时代了,现在的一台数字示波器100M 的不到两千MB可买得一台了,小巧、彩色、而且可说像傻瓜式的,操作非常方便面,只需测量时按下上面AUTO自动调按妞就行了。 其实示波器在实际维修运用中,用得最多的就是测量晶阵、时钟频率、检修PWM电路及一些关键信号的捕捉,快速准确锁定故障点。今天闲来没事就简单给大家演示一下示波器实际维修的运用及所测到的波形。 主演:安泰信ADS1102C 配角:我是刚来的 首先先请主演先登场吧 第一:检修不触发故障主板时,可以用示波器测32.768和25M(NF的板)晶振是否起振,非常直观,非常准确,有些人可能拍砖:“用万用表测晶振的两脚的压差不是也可以判断其好坏吗?没错,但是我要告诉你你只对了一半,有压差只能初步判断是好的,实际维修中也

经常碰到有压差但不起振的故障,在没示波器下最好的方法就是代换一个。但如果我们有示波器,测其晶振两脚,会有一个正弦波,且下面标有对应的频率数值没有偏移,那么晶振肯定是好的。如图为实测32.768的波形 第二:在检修能上电不亮机故障时,首先就是测量主板各大供电是否正常,而如今的主板的供电方式大多彩用了PWM控制方式,用它来检测PWM控制电路是否正常工作,也是比万用表更准确更直观,正常工作时的波形为脉冲方波。如:如图为CPU从电电路的脉冲方波,表明CPU电路正常工作

主板常见故障的维修实例详解大全

586主板的工作条件 主板工作的三大总线: 1、地址总线:用“A”表示,对地阻值在450-700Ω之间,误差20Ω。 2、数据总线:用“D”表示,对地阻值在450-700Ω之间,误差20Ω。 “A”“D”线一旦出问题,主板将不开机,数码管跑FF、00。 3、控制总线:对地阻值在800-1000Ω之间。一旦出问题,会死机出错,内存读不全。主板工作的三大条件: 1、电源(DC)即稳压器电源及CPU供电电路。 2、复位(RST)主板工作前的第一次启动命令(3.5-5V的高低电位,开机一次只出现一次)。 3、时钟(CLK)主板所有芯片工作必须长久保持的频率带宽。 三大条件任何一个出现问题,主板将不开机,数码管跑FF、00。 单电压单管式电源一般适用于FX、VX及486主板。其在主板上只有一个稳压管进行控制。对于这种CPU,它的电源脚是相通的,不能用于多媒体。在主板上电源线和地线都是通过夹层过去的。 单管式多媒体电源比单管单电压电源多了个稳压IC,它的作用是稳定稳压管的B极电压。3V以下为MMX电压及多媒体电压,3V以上为单电压。在主板上P54指的是单电压,P55是MMX电压。

双组:就是CPU的电源脚是两边通的,而不是四边通的。而且电压是不同的。也就是说A和B通,一个电压。C和D通,一个电压。而C和A、B是不通的,所以说A和B是一组,C和D是一组。这种工作模式就满足了CPU的高低电位的工作要求,因为双组CPU 在工作的时候需要一个高低电位(高端数据需要高一点的电位的低端数据需要低一点的电位)。 这种电源是大多数BGA芯片结构形式的主板用的。也是常见普通的,常用于TX以上的主板,比如MVP3、MVP4。 U1是控制Q1、Q2的主电源IC,主要为CPU电源服务的。DC12V电压送入U1后,U1开始工作后分别经由R1、R2为Q1、Q2提供B及控制电压。在这里 Q1、Q2的C极和E极是并联的,它们共同将DC5V电压降低,并提供强大电流给CPU。 Q4的C、E极是接地的,起稳压管作用。Q1、Q2其中一个坏了,会出现以下情况:上M2和K6/2均不能工作,上奔腾可以。单电压能工作,MMX不能工作。 U2是控制Q3输出的,输出的电压是3.3-3.5V。这电压主要是提供给南桥、北桥、I/O 芯片和168线内存的。在南桥、北桥、I/O上面除了这个电压外,还有DC5V电压(BGA 结构才有)。

监听器与过滤器

监听器与过滤器 监听器简介 什么是监听器 1.能监听某个对象的状态变化的组件 2.监听域对象的变化 监听器相关的概念 1.事件源:被监听的对象- request、session、servletContext 2.监听器:监听事件源的对象- 8个监听器 3.注册监听器:监听器与事件源相绑定 4.响应行为:监听到事件源变化时,去做什么事情 监听器划分 1.三个监听域对象的创建与销毁ServletContextListener HttpSessionListener ServletRequestListener 2.三个监听域对象当中属性变化ServletContextAttributeListener HttpSessionAttributeListener ServletRequestAttributeListener

域监听器 ServletContext域监听器监听ServletContext域的创建与销毁的监听器ServletContextListenerServletContext域生命周期:服务器启动创建、服务器关闭销毁监听器的编写步骤: 1.编写一个监听器类去实现监听器接口 2.覆盖监听器的方法 3.需要在web.xml中进行配置 作用 1.初始化的工作:初始化对象、初始化数据、加载数据库驱动、连接池的初始化 2.加载一些初始化的配置文件 3.任务调度

HttpSessionListener 监听HttpSession域的创建与销毁的监听器HttpSessionListener HttpSession的生命周期:第一次调用request.getSession时创建、服务器关闭session 过期或手动销毁 应用场景:记录访问人数 过滤器介绍 什么是过滤器 1.filter是对客户端访问资源的过滤,符合条件放行,不符合条件不放行 2.可以对目标资源访问前后进行逻辑处理 过滤器编写步骤 1.编写一个过滤器的类实现Filter接口 2.实现接口中尚未实现的方法(主要是DoFilter方法)

手把手教你用示波器维修主板(图文版教程)

手把手教你用示波器维修主板(图文版教程) 看到有很多新手在问示波器怎么用,苦苦寻找示波器的教程..… 以前用的大多是那种很大台笨重的模拟示波器, 调节非常麻烦,几十M的价格都要好几千,小弟我也买不起,所以至今是只见过猪走路,没吃过猪肉。现在都是数字时代了,现在的一台数字示波器100M的不到两千MB可买得一台了,小巧、彩色、而且可说像傻瓜式的,操作非常方便面,只需测量时按下上面AUTC自动调按妞就行了。 其实示波器在实际维修运用中,用得最多的就是测量晶阵、时钟频率、检修PWMI路及一些关键信号的捕捉,快速 准确锁定故障点。今天闲来没事就简单给大家演示一下示波器实际维修的运用及所测到的波形。 我这里用的是安泰信ADS1102C的示波器 第一:检修不触发故障主板时,可以用示波器测32.768和25M(NF的板)晶振是否起振,非常直观,非常准确,有 些人可能拍砖:“用万用表测晶振的两脚的压差不是也可以判断其好坏吗?没错,但是我要告诉你你只对了一半,有压差只能初步判断是好的,实际维修中也经常碰到有压差但不起振的故障,在没示波器下最好的方法就是代换一个。但如果我们有示波器,测其晶振两脚,会有一个正弦波,且下面标有对应的频率数值没有偏移,那么晶振肯定是好的。如图为实测32.768的波形

第二:在检修能上电不亮机故障时,首先就是测量主板各大供电是否正常,而如今的主板的供电方式大多彩用了 PWM 控制方式,用它来检测 PWM 控制电路是否正常工作,也是比万用表更准确更直观,正常工作时的波形为脉冲方波。 如图为CPU 从电电路的脉冲方波,表明 CPU 电路正常工作

表明内存供电电路正常

主板加电故障维修实例

主板加电故障维修实例

主板加电故障维修实例 1.MS-6566主板不通电故障 微星MS-6566E主板,故障为不通电.此主板南桥为82801EDB,I/O芯片为83627HF-AW主板,已被别人修过(换过32.768kHz晶振).首先排除短路跳线问题,晶振两脚有起振电压0.26V左右,基本正常.测I/O芯片83627第67脚无高电平,应该是南桥缺少一组待机电压导致的.跑线路发现在AGP槽附近发现一"351"小场效应管损坏,此场效应管负责把5VSB转为3.3VSB待机电压,用"702"场效应管更换后,测试83627第67脚为3.3V高电平,正常.点PWR开关主板通电,主板修复. 分析:此故障就是南桥缺少一组待机电压导致无法开机,微星MS-6566系列型号主板大部分是该场效应管损坏导致的无法开机,此管位于AGP槽旁边. 2.杂牌845GL.主板南桥短路故障 一杂牌845GL主板,南桥为82801DB,故障现象为插上ATX电源插头后,主板自动通电,点PWR开关无法关机.南桥旁边有两个1117稳压器,其中一个非常烫手,经检查短路的1117第三脚接+5VSB(紫线),第二脚输出应给南桥提供3.3V的待机电压,导致1117发烫一般为其供电的后级电路导致的.本着先简后繁的原则,先更换1117稳压器,故障依旧,后更换南桥,故障排除. 分析:使用82801DB和82801EB的南桥短路后经常有此类现象出现,大部分为南桥短路导致的.这两种南桥在实际维修中经常碰到损坏的情况. @3.微星845E主板不通电,强行开机能显示 微星845E的主板,点机电源开关没反映,强行开机代码可以走完,接显示器可以显示.查PWR开关一脚有5V电压,通过331电阻进I/O,绿线直接进I/O,I/O是83627HF-AW,此I/O为高电平触发,点PWR开关时有高电平触发,强行加电后可以点亮,说明工作基本正常,应为I/O内部集成的触发电路损坏.更换I/O芯片后,故障排除. 4.848主板南桥无待机电压导致的不通电故障 一块848主板不开机,此主板的南桥为82801EB,I/O芯片为Winbond的83637,此主板为I/O开机,跑开机线路,绿线到I/O PWR开关到I/O线路正常.检查南桥的3.3V 1.5V待机电压,发现南桥无1.5V待机电压.跑1.5V产生电路,发现此电压是由一个标示为"H4R5Y"的小管产生,此管损坏导致无待机电压.初步判断这是一个N沟道场效应管,用"702"代换后,开机正常. 5.华擎M266A不通电故障 检查CMOS跳线正常,晶振起振电压正常,检查开机线路,发现在ATX电源插座旁边的一个小三极管,集电极与绿线相连,控制极接电阻进南桥,此三极管在点击PWR开关后,基极有南桥发出的高电平,由此判断此三极管损坏.用"1AM"代换后,故障排除. 分析:此主板的南桥为VT8233,触发方式为低电平触发,触发后南桥持续发出高电平,经1.2电阻控制三极管导通,将ATX电源的绿线电压拉低,完成通电.使用VIA芯片组的主板开机电路大多为此类设计. 6.杂牌810主板不通电故障 检查CMOS跳线正常,检查开机电路未发现异常,后用手去刍秣32.768kHz的实时晶振,发现有时可以通电,怀疑晶振起振不正常,用示波器测量发现此晶振一脚有电压,但是无波形.由此判断32.768kHz晶振损坏,更换后,故障排除. 分析:在实际维修中,经常碰到32.768kHz晶振损坏后导致出没可以开机的情况.如果在更换32.768kHz 的晶振及与其两脚相连的稳频电容后,故障仍无法排除,则为南桥坏. 7.杂牌694主板无法关机故障 一杂牌694开机能显示,使用正常,点PWR关法关机.跑线路,开机线路进了I/O(83977EF),此主板是通过此I/O开机的,触发发上为低电平触发,怀疑I/O损坏.试换后,故障排除. 8.815主板不通电故障 一块杂牌815主板不通电,后发现触摸晶振就可开机,测32.768kHz实时晶振一脚电压为0.04V,明显偏低.换晶振和稳频电容,再测电压正常,故障被排除.

自定义监听器监听数据库中数据的变化

自定义监听器监听数据库中数据的变化 此程序只是一个简单的例子,主要监听数据库中Location的数据。 先写一个Event继承EventObject Java代码 package com.lbx.listong.servlet; import java.util.EventObject; public class LocationEvent extends EventObject { private static final long serialVersionUID = 1L; private Object obj; public LocationEvent(Object source) { super(source); obj = source; } public Object getSource(){ return obj; } } 然后写一个接口继承EventListener Java代码

package com.lbx.listong.servlet; import java.util.EventListener; public interface LocationListener extends EventListener { public void locationEvent(LocationEvent le); } 测试这个监听,实现他的接口 Java代码 package com.lbx.listong.servlet; import java.util.concurrent.Executors; import java.util.concurrent.ScheduledExecutorService; import java.util.concurrent.TimeUnit; import com.lbx.listong.service.LocationService; import com.lbx.listong.thread.ListThread; public class TestLocationListener implements LocationListener { private LocationService ls; public TestLocationListener() { ls = new LocationService(); ls.addLocationListener(this);

电脑主板维修教程

主板维修教程 维修部分 不开机故障的检测方法及顺序 1. 检查CPU 的三大工作条件 l 供电 l 时钟 l 复位 2. 取下BIOS 查22脚片选信号是否有跳变 3. 试换BIOS,查跟BIOS 相连的线路 4. 查ISA,PCI上的数据线,地址线(及AD),中断等控制线(这样可直接反映南北桥问题) 5. 查AGP,PCI,CPU座的对地阻值来判断北桥是否正常 l 供电CPU内核电压 2 场效应管坏,开路或短路 2 滤波电容短路(电解电容) 2 电压IC 无输出 ü 无12V 供电 ü 电压IC 坏 ü 断线 2 CPU 工作电压相关线路有轻微短路 2 场效应管坏了一个,输出电压也会变低 2 反馈电路无作用 2 电压IC输出电压低 l VID 0—4,(+5V电压) 2 电压IC 无输出 2 和CPU座相连的排阻坏 2 断线 l VTT 1.5V 2 供电场效应管坏 2 VTT1.5V 有对地短路 2 场效应管供电不正常 2 场效应管坏 l 时钟 2 CPU座与时钟IC 之间开路 2 时钟IC 无输出 2 和输出连接的滤波电容坏(10皮法) 2 供电是否正常3.3V 2.8V 2.5V 2 全部无输出或一半无输出 2 晶振是否起振22皮法是否坏 2 有供电,IC 坏 2 无供电,查供电相关线路 2 IC 坏 2 查不正常的一半供

2 复位电压低:北桥坏 2 有电压无复位 ?北桥假焊或北桥无复位 ?与北桥相连的线路断开 2 有复位:与北桥间断线 2 无复位:查复位的产生电路 开机显示内容及相关故障判断 1. 显示显卡的资料及显存的容量 2. 显示主板的型号、出厂日期、BIOS版本内容 3. 显示CPU的主频、(外频和倍频) 1) CPU座坏 2) 跳线设置错误 3) 北桥和CPU座之间的线路 4. 内存的容量 1) 内存条坏 2) 内存槽坏 3) 北桥坏 4) 内存槽接触不良 5. IDE接口的状况 1) 检测不到 i. 信号线及硬盘、光驱 ii. IDE 接口断针 iii. 南桥坏,断线 2) 检测错误 i. 硬盘、光驱信号线 ii. IDE接口问题 iii. 南桥坏 iv. 清除CMOS 6. 软驱 1) 设置错误 2) 信号线及软驱 3) 软驱接口 4) I/O坏 5) 南桥坏 7. 键盘、鼠标 1) 键盘、鼠标坏 2) 相关线路(排阻、排容、电感、电阻、I/O) 3) 键盘锁(CMOS、键盘锁相关线路) 4) 南桥或到南桥之间断线或短路

维修案例大全

维修案例大全 【篇一:维修案例大全】 在现在科技发达的时代,数码产品已经成为我们生活和工作中不可 缺少的东西,尤其是电脑,如今办公自动化,电脑已经不可或缺, 它更加方便,同时也大大提高了我们工作的效率。但是,只要是个 东西就会出现故障,电脑也不例外,这时候我们就很头疼,需要找 人来维修,但有些小问题我们自己也是可以解决的,但首先要知道 原因。所以,小编为大家列举了电脑出现故障的常见原因以及一些 案例和处理办法。 1、实例1:主板不启动,开机无显示,有内存报警声( 嘀嘀地叫个 不停) 故障原因:内存报警的故障较为常见,主要是内存接触不良引起的。例如内存条不规范,内存条有点薄,当内存插入内存插槽时,留有 一定的缝隙;内存条的金手指工艺差,金手指的表面镀金不良,时间 一长,金手指表面的氧化层逐渐增厚,导致内存接触不良;内存插槽 质量低劣,簧片与内存条的金手指接触不实在等等。 处理办法:打开机箱,用橡皮仔细地把内存条的金手指擦干净,把 内存条取下来重新插一下,用热熔胶把内存插槽两边的缝隙填平, 防止在使用过程中继续氧化。注意:在拔插内存条时一定要拔掉主 机折电源线,防止意外烧毁内存。 2、实例2:主板不启动,开机无显示,有显卡报警声(一长两短的鸣叫) 故障原因:一般是显卡松动或显卡损坏。 处理办法:打开机箱,把显卡重新插好即可。要检查agp插槽内是 否有小异物,否则会使显卡不能插接到位;对于使用语音报警的主板,应仔细辨别语音提示的内容,再根据内容解决相应故障。 如果以上办法处理后还报警,就可能是显卡的芯片坏了,更换或修 理显卡。如果开机后听到嘀的一声自检通过,正常但就是没有图像,把该显卡插在其他主板上,使用正常,那就是显卡与主板不兼容, 应该更换显卡。 3、实例3:主板不启动,开机无显示,无报警声 故障原因:原因有很多,主要有以下几种。 处理办法:针对以下原因,逐一排除。要求你熟悉数字电路模拟电路,会使用,有时还需要借助debug卡检查故障。

第八讲 AWT和事件监听

第八讲AWT和事件监听打印本页 1 基本概念 下面几讲,我们就来学习AWT的各种容器和组件,并重点学习AWT的事件监听和处理方法。由于学习事件需要用到一些简单的构件,我们先学习几个简单的构件。现在,我们先来介绍AWT里面几个重要的概念:构件,容器,布局管理器和事件监听(AWT P4)。 1.1构件是图形用户界面的最小单位之一,它里面不再包含其他的成分. 构件的作用是完成与用户的一次交互,包括接受用户的一个命令,接受用户的一个文本输入,向用户显示一段文本或一个图形等。常用的构件有: 按钮构件 项目选择构件:复选框(Checkbox)列表(List或Choice) 文本构件:文本框文本区 对话框构件:对话框文件对话框提示框帮助 菜单构件:弹出式菜单复选框菜单 1.2容器 容器是用来组织构件的单元。常用的容器有:面板、窗口。 1.3布局管理器: 布局管理器用来布置容器和容器中的各个构件,比如他们的大小、位置等。AWT提供了几种标准的布局管理器。 1.4事件监听 要使点击鼠标、敲打键盘等实现特定的动作,我们需要捕捉事件并且加以实现。AWT里典型的事件有:鼠标事件、鼠标移动事件、键盘事件、窗口事件等。 我们通过学习最基本的构件和容器(标签、按钮和面板)来粗略理解这些概念。标签和按钮是显示标签的简单构件;而面板是AWT提供的最基本的容器。 2 几个简单的构件和容器 标签(https://www.360docs.net/doc/8910562128.html,bel) 标签用来显示文本。 演示(StarterApplet) 面板(java.awt.Panel) 面板是一个通用的容器,在上面可以放置各种构件。 我们经常用的Applet类,其实就是面板的一个子类 按钮(java.awt.Button) 按钮具有三维外型,当它们被激活时触发按钮事件,用户可以根据按钮事件,做出适当的反应,比如执行一系列操作等。 演示 3 事件 AWT有两种事件处理模型:一种是基于继承的模型,它在AWT1.1或以前的版本中使用,现在已经逐渐被淘汰;另一种是基于授权的事件模型。我们主要学习给予授权的事件模型。 授权事件模型的原理很简单:事件源激发事件、事件监听器监听事件,最后执行事件。可以通过调用addXYZListener(XYZListner)方法向构件注册监听器。把监听器加到构件中以后,如果构件激发相应类型的事件,

主板维修教程非常实用

主板:英文“mainboard”,它是电脑中最大的一块电路板,是电脑系统中的核心部件,它的上面布满了各种插槽(可连接声卡/显卡/MODEM/等)、接口(可连接鼠标/键盘等)、电子组件,它们都有自己的职责,并把各种周边设备紧紧连接在一起。它的性能好坏对电脑的总体指标将产生举足轻重的影响。 CPU(Central Processing Unit:中央处理器):通常也称为微处理器。它被人们称为电脑的心脏。它实际上是一个电子组件,它的内部由几百万个晶体管组成的,可分为控制单元、逻辑单元和存储单元三大部分。其工作原理为:控制单元把输入的指令调动分配后,送到逻辑单元进行处理再形成数据,然后存储到储存器里,最后等着交给应用程序使用。 BIOS(Basic-Input-&-Output-System基本输入/输出系统):直译过来后中文名称就是“基本输入输出系统”。它的全称应该是ROM-BIOS,意思是只读存储器基本输入输出系统。其实,它是一组固化到计算机内主板上一个ROM芯片上的程序,它保存着计算机最重要的基本输入输出的程序、系统设置信息、开机上电自检程序和系统启动自举程序。 CMOS:CMOS是电脑主板上的一块可读写的RAM芯片,用它来保护当前系统的硬件配置和用户对某些参数的设定。现在的厂商们把CMOS程序做到了BIOS芯片中,当开机时就可按特定键进入CMOS设置程序对系统进行设置。所以又被人们叫做BIOS设置。 芯片组(Chipset):是构成主板电路的核心。一定意义上讲,它决定了主板的级别和档次。它就是“南桥”和“北桥”的统称,就是把以前复杂的电路和组件最大限度地集成在几颗芯片内的芯片组。 北桥:就是主板上离CPU最近的一块芯片,负责与CPU的联系并控制内存、AGP、PCI数据在北桥内部传输。 南桥:主板上的一块芯片,主要负责I/O接口以及IDE设备的控制等。 MCH(memory controller hub):内存控制器中心,负责连接CPU,AGP总线和内存。 ICH(I/O controller hub):输入/输出控制器中心,负责连接PCI总线,IDE设备,I/O设备等。 FWH(firmware controller):固件控制器,主要作用是存放BIOS。 I/O芯片:在486以上档次的主板,板上都有I/O控制电路。它负责提供串行、并行接口及软盘驱动器控制接口。 PCB:也就是主板线路板它由几层树脂材料粘合在一起的,内部采用铜箔走线。一般的PCB线路板分有四层,最上和最下的两层是信号层,中间两层是接地层和电源层,将接地和电源层放在中间,这样便可容易地对信号线做出修正。而好的主板的线路板可达到六层,这是由于信号线必须相距足够远的距离,以防止电磁干扰,六层板可能有三个或四个信号层、一个接地层、以及一个或两个电源层,以提供足够的电力供应。 AT板型: 也就是“竖”型板设计,即短边位于机箱后面板。它最初应用于IBM PC/A T机上。AT主板大小为13×12英寸。 Baby-AT板型: 随着电子组件和控制芯片组集成度的大幅提高,也相应的推出了尺寸相对较小的Baby AT主板结构。Baby AT大小为×英寸。

主板不上电故障维修流程及实例

主板不上电故障维修流程及实例 (2010-09-14 23:45:44) 转载 标签: 杂谈 主板不上电的故障,在主板维修中比较常见,出现的频率也比较多。从主板的维修角度上来说,主板不上电的故障大部分还是比较好修。由于主板更新的速度非常快,主板板型也比较多,有些主板不上电也就比较难修。只要大家在维修过程中正确的掌握维修流程,维修起来可能会比较方便。在这里向大家介绍一下关于主板不上电维修的流程的大致维修思路,希望大家对维修主板时有所帮助。 一、外观的检测 当我们拿到一块主板维修时,首先不要急于上电,应该先检查一下主板的外观。 1、检查主板上的主要元件有无烧伤的痕迹,重点观察南北桥、I/O、供电MOS 管,各种插槽等。如发现有明显的烧伤、损坏,则首先要将烧伤,损坏的部件给予更换。 2、检查主板上PCB是否有划伤、划断线、PCB烧断、掉件等人为故障,如有此类故障,则首先进行补线、补件的工作。观察的主要方向是主板的边缘以及背面。 二、未插ATX电源前的测量 主板上电前首先要用万用表的二极管档量测主板上是否有短路的地方(其方法是将万用表打到二极管档位,红表笔接地黑表笔接电压测试点,我们称其为测量主

板的对地阻值),千万不可直接上电,不然可能会导致短路的现象更加严重,引起其它元件的烧坏。 1、测量主板ATX电源上的3.3V、5V、5VSB、12V电压是否有对地短路现象,一般来说,其对地的阻值应在100多欧以上(各种板型的不同会有所差异,以公司下发的测试规范为准,或以同类产品电性能OK的好板为准),如果在100欧以下或更小阻值,就有可能处于短路状态(新款的主板,3.3V电压对地的正常值阻大约在100欧左右,12V的电压阻值一般在400、500欧以上,所以这个100欧的数值只可作为参考的数字)。如果有短路的情况,则根据短路的具体情况来排处短路的故障。 2 、测量4PIN的小ATX插头上的12V电源口对地是否短路(此12V与大ATX上的12V非一路电压,这个12V电压主要是为CPU电压芯片及MOS管提供的电压),如果12V电压有短路现象,则测量CPU的供电部分的MOS管,看是否有击穿的现象,在实际维修中,多数是上管击穿,我们可以首先测量各相供电的上管的G、S极;D、S极之间的阻值来判断是那一相的上管被击穿,并加以更换,同时需要注意的是,在条件允许的情况下,最好将整个一相的上下管都更换,并且将驱动芯片也一并更换。 3、测量主板上的各个起供电转换作用的MOS管的S极是否有对地短现象,如内存电压V_DIMM、VDDQ等,并依此来判断南北桥是否有短路情况(K8N5的主板内存无电压也会造成主板不上电)。 4、测量主板上的3.3VSB、1.5VSB等待机电压是否短路,其中最常见的就是3.3VSB 和1.5VSB电压短路,如果发现3.3VSB短路,首先要确定网卡是否有损坏(可以通过测量网卡接口上的引起的对地阻值来进行判断),有问题则先将网卡芯片拆

JSP中的Filter拦截器和Listener监听器

JSP中的Filter过滤器和Listener监听器 1. JSP中的过滤器 1.1 什么是过滤器 过滤器是一个程序,它先于与之相关的servlet或JSP页面运行在服务器上。过滤器可附加到一个或多个servlet 或JSP页面上,并且可以检查进入这些资源的请求信息。在这之后,过滤器可以作如下的选择: (1)以常规的方式调用资源(即,调用servlet或JSP页面)。 (2)利用修改过的请求信息调用资源。 (3)调用资源,但在发送响应到客户机前对其进行修改。 (4)阻止该资源调用,代之以转到其他的资源,返回一个特定的状态代码或生成替换输出。 1.2 过滤器的基本原理 过滤器可以对客户的请求进行处理,处理完成后,它会交给下一个过滤器处理。这样,客户的请求在“过滤器链”里逐个处理,直到请求发送到目标为止。例如,某网站里有提交“修改业务数据”的网页,当用户填写完修改信息并提交后,服务器在进行处理时需要做两项工作:判断客户端的会话查看该用户是否有修改权限;对提交的数据进行统一编码。这两项工作可以在由两个过滤器组成的过滤链里进行处理。当过滤器处理成功后,把提交的数据发送到最终目标;如果过滤器处理不成功,将把视图派发到指定的错误页面。 1.3 过滤器的使用 开发Servlet过滤器的步骤如下:(1)编写实现Filter接口的类;(2)在web.xml中配置Filter。 1.3.1 实现Filter接口类 Filter接口定义了以下方法: 成员描述 destory() 由Web容器调用,初始化此Filter。 init(FilterConfig filterConfig) 由Web容器调用,初始化此Filter。 doFilter(ServletRequest request, 具体过滤处理代码,其中FilterChain参数非常重要,允许通ServletResponse response,FilterChain chain) 过当前过滤器时须要调用FilterChain.doFilter() 下面示例实现一个权限过滤器,若用户尚未登录(Session中没有保存用户信息),将回到登录页面;若已经登录则继续该请求。 public class SecurityFilter implements Filter {

相关文档
最新文档