event

Java学习路线-50:Servlet监听器Listener

与世无争的帅哥 提交于 2020-02-24 07:15:50
课时12 什么叫监听器Listener AWT、SAX 监听器: 一个接口,内容由用户实现 需要注册 监听器中的方法,会在特殊事件发生时被调用 观察者 事件源 事件 监听器 课时13 监听器概述以及生命周期监听器 事件源 1 、ServletContext 生命周期监听 ServletContextListener 创建 contextInitialized 销毁 contextDestroyed ServletContextEvent - getServletContext ( ) 属性监听 ServletContextAttributeListener 添加 attributeAdded 替换 attributeReplaced 移除 attributeRemoved ServletContextAttributeEvent - getName ( ) - getValue ( ) 2 、HttpSession 生命周期监听 HttpSessionListener 创建 sessionCreated 销毁 sessionDestroyed HttpSessionEvent - getSession ( ) 属性监听 HttpSessionAttributeListener 添加 attributeAdded 替换 attributeReplaced 移除

QT基本知识(第二天)

谁说胖子不能爱 提交于 2020-02-23 19:12:14
1,布局 布局分为三种:水平布局,垂直布局,栅格布局。 布局的很多时候会用到弹簧。 2, 样式表 Qt样式表与CSS的语法规则几乎完全相同。通过调用QWidget::setStyleSheet()或QApplication::setStyleSheet(),可以为一个独立的子部件、整个窗口,甚至是整个应用程序制定一个样式表。可以使用样式表做成很好看的控件。 语法如下: setStyleSheet(selector{attribute:value} );selector选择器部分通常是一个类名,{}大括号里面一个是属性名,一个是属性的值。属性之间用;间隔开。 3,事件 Qt程序要在main()函数创建一个QApplication对象,然后调用它的exec()函数。这个函数就是开始Qt的事件循环。在执行exec()函数之后,程序将进入事件循环来监听应用程序的事件,当事件发生时,Qt将创建一个事件对象,Qt中所有事件类都继承于QEvent。在事件对象创建完毕后,Qt将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是按照事件对象的类型分派给特定的事件处理函数。 e -> ignore();忽略,事件继续往下传递,传递给父组件。 event(),函数的作用是用作事件分发的。 4,事件过滤器 虽然通过实现event()函数可以实现事件过滤

javascript获取页面中的位置

安稳与你 提交于 2020-02-23 12:03:52
一.如下是定位鼠标在视窗中的位置。 function getMousePoint() { var point = {x:0,y:0}; // 如果浏览器支持 pageYOffset, 通过 pageXOffset 和 pageYOffset 获取页面和视窗之间的距离 if(typeof window.pageYOffset != 'undefined') { point.x = window.pageXOffset; point.y = window.pageYOffset; } // 如果浏览器支持 compatMode, 并且指定了 DOCTYPE, 通过 documentElement 获取滚动距离作为页面和视窗间的距离 // IE 中, 当页面指定 DOCTYPE, compatMode 的值是 CSS1Compat, 否则 compatMode 的值是 BackCompat else if(typeof document.compatMode != 'undefined' && document.compatMode != 'BackCompat') { point.x = document.documentElement.scrollLeft; point.y = document.documentElement.scrollTop; } // 如果浏览器支持

iOS触摸事件哦

杀马特。学长 韩版系。学妹 提交于 2020-02-22 09:53:50
主要是记录下iOS的界面触摸事件处理机制,然后用一个实例来说明下应用场景. 一、处理机制 界面响应消息机制分两块,(1)首先在视图的层次结构里找到能响应消息的那个视图。(2)然后在找到的视图里处理消息。 【关键】(1)的过程是从父View到子View查找,而(2)是从找到的那个子View往父View回溯(不一定会往回传递消息)。 1.1、寻找响应消息视图的过程可以借用M了个J的一张图来说明。 处理原理如下: • 当用户点击屏幕时,会产生一个触摸事件,系统会将该事件加入到一个由UIApplication管理的事件队列中 • UIApplication会从事件队列中取出最前面的事件进行分发以便处理,通常,先发送事件给应用程序的主窗口(UIWindow) • 主窗口会调用hitTest:withEvent:方法在视图(UIView)层次结构中找到一个最合适的UIView来处理触摸事件 (hitTest:withEvent:其实是UIView的一个方法,UIWindow继承自UIView,因此主窗口UIWindow也是属于视图的一种) • hitTest:withEvent:方法大致处理流程是这样的: 首先调用当前视图的pointInside:withEvent:方法判断触摸点是否在当前视图内: ▶ 若pointInside:withEvent:方法返回NO,说明触摸点不在当前视图内

js拖动

ε祈祈猫儿з 提交于 2020-02-21 11:33:40
以下网址是一段js拖动的代码, http://www.jb51.net/article/10578.htm 我感觉这东西用在网页的广告上很有用,所以记一下 <html> <head><title>拖动效果函数演示 by Longbill.cn</title> <style> body { font-size:12px; color:#333333; border : 0px solid blue; } div { position : absolute; background-color : #c3d9ff; margin : 0px; padding : 5px; border : 0px; width : 100px; height:100px; } </style> </head> <body> <script> function drag(o,s) { if (typeof o == "string") o = document.getElementById(o); o.orig_x = parseInt(o.style.left) - document.body.scrollLeft; o.orig_y = parseInt(o.style.top) - document.body.scrollTop; o.orig_index = o.style.zIndex; o

AJAX的前世今生与未来

落爺英雄遲暮 提交于 2020-02-21 07:33:03
一、通过三个问答来认识一下Ajax 什么是Ajax? Ajax是Asynchronous Javascript And XML的缩写,它是一种技术。 Ajax有什么用? 这一技术能够向服务器请求额外的数据而不用卸载页面。 Ajax有什么好处? 会带来更好的用户体验。 二、Ajax的前世 1)前端的Ajax 早在Ajax出世之前,Ajax式的通信要通过一些Hack才能完成,大多数是使用隐藏的框架或内嵌框架。(很遗憾我不是在那个时期成长起来的,所以就不太熟悉了,大概是利用iframe来实现的,只不过是不跨域而已) 2)中间件的Ajax 在Ajax出世之前,有一种叫远程脚本的技术,它的工作和Ajax类似。Javascript要借助Java applet或者Flash等中间件才能实现。(具体是怎么来做的,我也不是很清楚,大概的原理是Javascript与中间件通信,中间件再与服务器通信) 三、Ajax的今生 Ajax技术的核心是XMLHttpRequest对象(简称XHR)。 下面只对xhr的大概过程作了简单的介绍,如果想深入了解ajax,大家可以深入了解了一下xhr的各个属性、方法和过程。 创建跨浏览器的xhr function createXHR(){ if(typeof XMLHttpRequest != 'undefined'){ return new XMLHttpRequest

Flume使用详解(一)

北城以北 提交于 2020-02-21 06:56:41
概述: Flume最早是Cloudera提供的日志收集系统,后贡献给Apache。所以目前是Apache下的项目,Flume支持在日志系统中定制各类数据发送方,用于收集数据。 Flume是一个高可用的,高可靠的鲁棒性(robust 健壮性),分布式的海量日志采集、聚合和传输的系统, Flume支持在日志系统中定制各类数据发送方,用于收集数据(source);同时,Flume提供对数据进行简单处理,并写到各种数据接受方(可定制)的能力(sink)。 当前Flume有两个版本Flume 0.9X版本的统称Flume-og,老版本的flume需要引入zookeeper集群管理,性能 也较低(单线程工作)。老版本的flume对于zookeeper依赖过高,此外也会对Zookeeper造成一定 的负载压力。 Flume1.X版本的统称Flume-ng。新版本需要引入zookeerper。 由于Flume-ng经过重大重构,与Flume-og有很大不同,使用时请注意区分。 基本概念: 基本架构图: flume是分布式的日志收集系统,它将各个服务器中的数据收集起来并送到指定的地方去,比如说送到图中的HDFS,简单来说flume就是收集日志的。 event事件 flume的核心是把数据从数据源(source)收集过来,在将收集到的数据送到指定的目的地(sink)。为了保证输送的过程一定成功

JavaSE 键盘事件类(KeyEvent)实现

杀马特。学长 韩版系。学妹 提交于 2020-02-20 08:25:47
{相关信息} 键盘事件类(KeyEvent)是容器内的任意组件获得焦点时,组件发生键击事件,当按下释放或键入某一个键时,组件对象将产生该事件。使用键盘事件必须给组件添加一个KeyListener 接口的事件处理器,该接口包含以下 3 个方法: void keyPressed(KeyEvent e):按下按键时发生。 void keyReleased(KeyEvent e):松开按键时发生。 void keyTyped(KeyEvent e):敲击键盘,发生在按键按下后,按键放开前。 {效果图} {实现代码} package sup.orange.learn; import java.awt.*; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; import java.awt.event.WindowAdapter; import java.awt.event.WindowEvent; /** * Created by re-x on 10/31/14. */ public class KeyEventDemo extends Frame implements KeyListener { TextArea textarea, textarea1; Button button; public

js keycode大全

删除回忆录丶 提交于 2020-02-19 17:43:58
JS KeyCode数字对应键盘以及应用大全 时间:2014-07-11 10:37 点击:851次 keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = Alt_L keycode 19 = Pause keycode 20 = Caps_Lock keycode 27 = Escape Escape keycode 32 = space space keycode 33 = Prior keycode 34 = Next keycode 35 = End keycode 36 = Home keycode 37 = Left keycode 38 = Up keycode 39 = Right keycode 40 = Down keycode 41 = Select keycode 42 = Print keycode 43 = Execute keycode 45 = Insert keycode 46 = Delete keycode 47 = Help keycode 48 = 0 equal braceright keycode

键盘事件 keycode收集

孤者浪人 提交于 2020-02-19 17:41:44
keycode 8 = BackSpace BackSpace keycode 9 = Tab Tab keycode 12 = Clear keycode 13 = Enter keycode 16 = Shift_L keycode 17 = Control_L keycode 18 = Alt_L keycode 19 = Pause keycode 20 = Caps_Lock keycode 27 = Escape Escape keycode 32 = space space keycode 33 = Prior keycode 34 = Next keycode 35 = End keycode 36 = Home keycode 37 = Left keycode 38 = Up keycode 39 = Right keycode 40 = Down keycode 41 = Select keycode 42 = Print keycode 43 = Execute keycode 45 = Insert keycode 46 = Delete keycode 47 = Help keycode 48 = 0 equal braceright keycode 49 = 1 exclam onesuperior keycode 50 = 2 quotedbl