监听器

Spring Event事件驱动

混江龙づ霸主 提交于 2020-02-10 19:32:18
Spring事件驱动模型,简单来说类似于Message-Queue消息队列中的Pub/Sub发布/订阅模式,也类似于Java设计模式中的观察者模式。 自定义事件 Spring的事件接口位于 org.springframework.context.ApplicationEvent ,源码如下: public abstract class ApplicationEvent extends EventObject { private static final long serialVersionUID = 7099057708183571937L; private final long timestamp; public ApplicationEvent(Object source) { super(source); this.timestamp = System.currentTimeMillis(); } public final long getTimestamp() { return this.timestamp; } } 继承了Java的事件对象 EventObject ,所以可以使用 getSource() 方法来获取到事件传播对象。 自定义Spring事件 public class CustomSpringEvent extends ApplicationEvent {

java中filter&listener的学习

六月ゝ 毕业季﹏ 提交于 2020-02-09 20:38:42
文章目录 Filter:过滤器 **快速入门** 步骤 过滤器细节 增强对象的功能 Listener:监听器 Filter:过滤器 概念 :当服务器访问资源时,过滤器可以将请求拦截下来,完成一些特殊的功能。 作用 :一般用于完成通用的操作。如:登录验证、统一编码处理、敏感字符过滤。。。 快速入门 步骤 定义一个类,实现接口Filter 复写方法 配置拦截路径 web.xml 注解 @WebFilter("/*") // 会拦截所有请求 public class FilterDemo1 implements Filter { @Override public void init(FilterConfig filterConfig) throws ServletException { } @Override public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException { System.out.println("filterDemo1被执行了"); //放行 filterChain.doFilter(servletRequest

Spring MVC学习笔记

萝らか妹 提交于 2020-02-09 16:35:46
web.xml作用: web.xml主要用来配置Filter、Listener、Servlet等,当我们去启动一个 WEB项目时,容器(jetty 、t omcat等)首先会读取项目 web.xml配置文件里的配置,当这一步骤没有出错并且完成之后,项目才能正常地被启动起来。 web.xml配置元素的加载顺序: <context-param> -> <listener> -> <filter> -> <servlet>。其中,如果 web.xml中出现了相同的元素,则按照在配置文件中出现的先后顺序来加载。 web容器启动过程: 启动一个WEB项目的时候,WEB容器会去读取它的配置文件web.xml,读取<listener>和<context-param>两个结点。 紧急着,容创建一个ServletContext(servlet上下文),这个web项目的所有部分都将共享这个上下文。 容器将<context-param>转换为键值对,并交给servletContext。 容器创建<listener>中的类实例,创建监听器。 web.xml配置元素: 1.<web-app>根元素 web.xml的模式文件是由Sun公司定义的,每个web.xml文件的根元素<web-app>中,都必须标明这个 web.xml使用的是哪个模式文件。其它的元素都放在<web-app></web-app>之中,

带着萌新看springboot源码12(启动原理 下)

微笑、不失礼 提交于 2020-02-08 04:02:01
   先继续接上一篇,那个启动原理还有一点没说完。 6. afterRefresh(context, applicationArguments);    看这个名字就知道,应该就是ioc容器刷新之后的一些操作了,我们来看看内部是怎么做的      可以看看callRunner方法,其实就是执行这个xxxRunner里面的run方法      下面我说说这两个ApplicationRunner和CommandLineRunner是个什么东西,emmm..本来我也不知道,但是查了好半天的资料、博客,知道了一点,说实话,这两个东西功能基本一样(其实就是相当于一个监听器的功用,你只需要实现这两个接口,丢到容器里,容器刷新完毕后会自动调用),只不过传递的参数类型不同,ApplicationRunner需要的是ApplicationArguments参数(其实就是主配置类main方法里面的args经过封装成的),CommandLineRunner需要的是String类型的参数(下面是我网上随便找的两张截图)   那么要问了,那个main方法里面的args是个什么鬼啊?各位,还记不记得,我们最开始学javase的时候,也有个main方法,也有个args还记得吗?哈哈,没错,其实就是我们在外面运行(windows是cmd,linux是终端窗口)运行的时候,传递的参数

监听器

爱⌒轻易说出口 提交于 2020-02-07 17:37:05
作用: 监听作用域对象request,session,application的创建、销毁和内容的改变。 使用: 创建一个实现了指定接口的java类 监听request-------》ServletRequestListener //监听request对象的创建和销毁 requestInitialized(ServletRequestEvent sre) //创建 requestDestroyed(ServletRequestEvent sre) //销毁 监听request-------》ServletRequestAttributeListener //监听request作用域数据的变更 attributeAdded(HttpSessionBindingEvent sbe) attributeRemoved(HttpSessionBindingEvent sbe) attributeReplaced(HttpSessionBindingEvent sbe) 监听session 监听application 配置监听器类 1.监听器的配置 1.在web.xml中配置监听器 <!--配置监听器--> < listener > < listener-class > com.juruo.listener.MyListener </ listener-class > </ listener

Servlet:监听器和过滤器

妖精的绣舞 提交于 2020-02-07 03:10:53
文章目录 1. 监听器Listener 2. 过滤器filter 1. 监听器Listener 概念:web的三大组件之一。 事件监听机制的三个部分: 事件 :一件事情 事件源 :事件发生的地方 监听器 :一个对象 * 注册监听:将事件、事件源、监听器绑定在一起。 当事件源上发生某个事件后,执行监听器代码 6个主要监听器: ServletRequestListener 、 ServletContextListener 和 HttpSessionListener 接口是用于监听对象的创建与销毁信息; ServletContextAttributeListener , HttpSessionAttributeListener 和 ServletRequestAttributeListener ,这三个接口则是定义了三个方法来处理被监听对象中的属性的增加,删除和替换的事件,同一个事件在这三个接口中对应的方法名称完全相同,只是接受的参数类型不同。 例举.ServletContext对象监听器 package listener ; import javax . servlet . ServletContext ; import javax . servlet . ServletContextEvent ; import javax . servlet .

SpringBoot-目录

杀马特。学长 韩版系。学妹 提交于 2020-02-05 11:55:59
目录 注解 SpringBoot注解学习-认识注解 认识注解 SpringBoot学习注解-Java注解原理 Java注解原理 springboot validation参数校验-错误整理 注解应用- 参数校验错误整理 @Validated和@Valid区别 @Validated和@Valid区别 过滤器、拦截器、监听器 1.springboot-过滤器、拦截器、监听器 过滤器、拦截器、监听器 来源: CSDN 作者: happytaohaha 链接: https://blog.csdn.net/NumberOneStudent/article/details/104178591

ehcache、redis应用场景比较

天大地大妈咪最大 提交于 2020-02-04 22:32:39
应用场景: ehcache是Hibernate中默认的CacheProvider,直接在jvm虚拟机中缓存,速度快,效率高;但是缓存共享麻烦,集群分布式应用不方便。 . 缓存数据有两级:内存和磁盘,因此无需担心容量问题,提供Hibernate的缓存实现 Ehcache 在 Java 项目广泛的使用。它是一个开源的、设计于提高在数据从RDBMS中取出来的高花费、高延迟采取的一种缓存方案。正因为Ehcache具有健壮性(基于java开发)、被认证(具有apache 2.0 license)、充满特色(稍后会详细介绍),所以被用于大型复杂分布式web application的各个节点中。 什么特色? 1. 够快 Ehcache的发行有一段时长了,经过几年的努力和不计其数的性能 测试 ,Ehcache终被设计于large, high concurrency systems. 2. 够简单 开发者提供的接口非常简单明了,从Ehcache的搭建到运用运行仅仅需要的是你宝贵的几分钟。其实很多开发者都不知道自己用在用Ehcache,Ehcache被广泛的运用于其他的开源项目 比如: hibernate 3.够袖珍 关于这点的特性,官方给了一个很可爱的名字small foot print ,一般Ehcache的发布版本不会到2M,V 2.2.3 才 668KB。 4. 够轻量

使用Jmeter进行APP接口测试经验总结

家住魔仙堡 提交于 2020-02-04 20:59:26
使用工具:   Fiddler、 Jmeter    测试 步骤:   1. 确认接口   从开发人员那里获取接口文档,接口文档应该包括完整的功能接口、接口请求方式、接口请求URL、接口请求参数、接口返回参数。   如果当前项目没有接口文档,则可以使用fiddler对APP进行抓包确认。   fiddler对 手机 进行抓包的方法可以参考:http://blog.csdn.NET/whorus1/article/details/50673740   在手机上对APP进行操作,然后在Fiddler中可以抓取对应的网络交互信息(一个功能中可能设计多个接口的交互)。在抓取的信息中可以看到接口请求方式、接口请求URL、接口请求参数、接口返回参数。   2. 在Jmeter中编写测试脚本   (1)在测试计划中添加一个线程组(在测试计划上右击,添加-Threads-线程组)。   可以将线程组的名称改成测试项目的名称。   在 性能测试 时可以通过配置线程属性中的参数来控制并发用户数:   线程数:虚拟用户数,即并发数,一个线程表示一个虚拟用户;   Ramp-Up Period:所有线程启动的时间,单位s。通过这个参数可以设置每个线程间的启动间隔,防止给电脑造成太大性能压力;   循环次数:测试循环的次数,如果勾选了“永远”,那么所有线程会一直发送请求,直到手动停止运行脚本;   (2

网络判断的监听器

房东的猫 提交于 2020-02-04 19:28:14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 /** * 监听网络是否正常连接 * * @author Cyning * */ private class ConnectionChangeReceiver extends BroadcastReceiver { private final String TAG = ConnectionChangeReceiver. class .getSimpleName(); @Override public void onReceive(Context context, Intent intent) { ConnectivityManager connectivityManager = (ConnectivityManager) context.getSystemService(Context.CONNECTIVITY_SERVICE); NetworkInfo mobNetworkInfo = connectivityManager.getNetworkInfo(ConnectivityManager.TYPE_MOBILE);