视频:https://v.qq.com/x/page/s052623rqqg.html
PPT::https://github.com/WuZhiyong1759/xiaoketangPPT/tree/master/XKT2017%E5%B9%B47%E6%9C%8817%E6%97%A5PPT
分享人:吴志勇
1.背景介绍
修真院Java任务深度思考上次讲到了拦截器作用,这次我们来看看监听器。在任务里使用springMVC过程中我们常常会在web.xml里写如下配置。这两个就是监听器的配置,一个是用来监听容器加载的,另一个是用来监听内存溢出的。
2.知识剖析
本次课程将涉及下面三个内容:
1.ServletContext
2.HttpSession
3. ServletRequest
3.常见问题
什么是监听器?
springMVC中监听器和配置?
4.解决方案
修真院一直提倡的上网自学的方式
5.编码实战
web.xml中配置
监听器代码:
--------------------------------------------------------------------------------------------------------------------------------------------------------
public classfirstRequestListenerimplementsServletRequestListener {
public voidrequestDestroyed(ServletRequestEvent arg0) {
//TODO Auto-generated method stub
System.out.println("requestDestroyed^^^^^^^^^^^^^^^^^^^^^^^^^^");
}
public voidrequestInitialized(ServletRequestEvent arg0) {
//TODO Auto-generated method stub
System.out.println("requestInitialized^^^^^^^^^^^^^^^^^^^^^");
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------
public classfirstServletListenerimplementsServletContextListener{
@Override
public voidcontextInitialized(ServletContextEvent sce) {
System.out.println("context初始化。。。。。。。。。。。。。。。");
}
@Override
public voidcontextDestroyed(ServletContextEvent sce) {
System.out.println("context销毁。。。。。。。。。。。。。。。。。。。。");
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------
public classfirstSessionListenerimplementsHttpSessionListener {
public voidsessionCreated(HttpSessionEvent arg0) {
//TODO Auto-generated method stub
System.out.println("sessionCreated+++++++++++++++++++++++++");
}
public voidsessionDestroyed(HttpSessionEvent arg0) {
//TODO Auto-generated method stub
System.out.println("sessionDestroyed+++++++++++++++++++++++++");
}
}
--------------------------------------------------------------------------------------------------------------------------------------------------------
当我们启动容器(Tomcat或jetty时)
控制台输出了:
当我们请求访问接口时:
控制台输出:
postman:
当我们访问这个接口时:
控制台输出:
postman:
当停止容器(Tomcat或jetty时)
控制台输出:
6.扩展思考
我们可以用监听器来实现什么功能?
通过上面的监听器代码实现,我们可以在代码中监听到容器的启动与停止,每次请求访问接口时我们通过监听器能够了如指掌,那么就我们测试的这个监听器来说,我们是不是可以实现统计访问次数的功能呢?当然实际开发当中,我们可以用监听器来做很多事情,比如,获取权限,文件上传进度等等。
7.参考文献
参考一:http://www.baidu.com
参考二:http://blog.csdn.net/zx13525079024/article/details/51815744
8.更多讨论
自定义监听器的实现?
友情连接: IT修真院官网 IT修真院Java专栏