当前位置: 首页 > news >正文

网站流量被黑创艺装饰12万的全包房

网站流量被黑,创艺装饰12万的全包房,建筑学太烧钱了,新手怎样做网络营销推广【Spring Boot系列】- Spring Boot侦听器Listener 文章目录 【Spring Boot系列】- Spring Boot侦听器Listener一、概述二、监听器Listener分类2.1 监听ServletContext的事件监听器2.2 监听HttpSeesion的事件监听器2.3 监听ServletRequest的事件监听器 三、SpringMVC中的监听器3…【Spring Boot系列】- Spring Boot侦听器Listener 文章目录 【Spring Boot系列】- Spring Boot侦听器Listener一、概述二、监听器Listener分类2.1 监听ServletContext的事件监听器2.2 监听HttpSeesion的事件监听器2.3 监听ServletRequest的事件监听器 三、SpringMVC中的监听器3.1 ContextLoaderListener3.2 RequestContextListenRequest作用域Session作用域global session作用域 3.3 IntrospectorCleanupListenerIntrospector作用及影响配置IntrospectorCleanupListener 四、Servlet API中Web事件监听器4.1 ServletContextListener -- 监听servletContext对象的创建以及销毁4.2 HttpSessionListener -- 监听session对象的创建以及销毁4.3 ServletRequestListener -- 监听request对象的创建以及销毁4.4 ServletContextAttributeListener -- 监听servletContext对象中属性的改变4.5 HttpSessionAttributeListener --监听session对象中属性的改变4.6 ServletRequestAttributeListener --监听request对象中属性的改变 一、概述 什么事Web监听器web监听器就是Servlet中特殊的类他们能帮助开发者监听web中的特定事件比如ServletContext、HttpSession、ServletRequest的创建和销毁变量的创建、销毁和修改等。可以在某些动作前后增加处理实现监控等等。web监听器的使用场景有很多Spring的监听器是一种观察者模式它能实现事件与事件监听者直接的解耦 二、监听器Listener分类 2.1 监听ServletContext的事件监听器 分别为ServletContextListener、ServletContextAttributeListener。Application级别整个应用只存在一个可以进行全局配置。 2.2 监听HttpSeesion的事件监听器 分别为HttpSessionListener、HttpSessionAttributeListener。Session级别针对每一个对象如统计会话总数。 2.3 监听ServletRequest的事件监听器 分别为ServletRequestListener、ServletRequestAttributeListener。Request级别针对每一个客户请求。 三、SpringMVC中的监听器 3.1 ContextLoaderListener 在启动Web容器时自动装配Spring applicationContext.xml的配置信息。因为它实现了ServletContextListener这个接口在web.xml配置这个监听器启动容器时就会默认执行它实现的方法。在ContextLoaderListener中关联了ContextLoader这个类所以整个加载配置过程由ContextLoader来完成。 以下是web.xml中ContextLoaderListener的配置和context的配置 listenerlistener-classorg.springframework.web.context.ContextLoaderListener/listener-class /listenercontext-param context-paramparam-namecontextConfigLocation/param-nameparam-valueclasspath:applicationContext.xml/param-value /context-paramServletContextListener 是 ServletContext 的监听者如果 ServletContext 发生变化如服务器启动时ServletContext 被创建服务器关闭时 ServletContext 将要被销毁。 3.2 RequestContextListen 基于LocalThread将HTTP request对象绑定到为该请求提供服务的线程上。这使得具有request和session作用域的bean能够在后面的调用链中被访问到。 Request作用域 bean idloginAction classcom.goyeer.LoginAction scoperequest/ 针对每次HTTP请求Spring容器会根据loginAction bean定义创建一个全新的LoginAction bean实例且该loginAction bean实例仅在当前HTTP request内有效因此可以根据需要放心的更改所建实例的内部状态而其他请求中根据loginAction bean定义创建的实例将不会看到这些特定于某个请求的状态变化。当处理请求结束request作用域的bean实例将被销毁。 Session作用域 bean iduser classcom.goyeer.User scopesession/针对某个HTTP SessionSpring容器会根据userPreferences bean定义创建一个全新的userPreferences bean实例且该userPreferences bean仅在当前HTTP Session内有效。与request作用域一样你可以根据需要放心的更改所创建实例的内部状态而别的HTTP Session中根据userPreferences创建的实例将不会看到这些特定于某个HTTP Session的状态变化。当HTTP Session最终被废弃的时候在该HTTP Session作用域内的bean也会被废弃掉。 global session作用域 bean iduserPrefere classcom.goyeer.userPrefere scopeglobalSession/ global session作用域类似于标准的HTTP Session作用域不过它仅仅在基于portlet的web应用中才有意义。Portlet规范定义了全局Session的概念它被所有构成某个portlet web应用的各种不同的portlet所共享。在global session作用域中定义的bean被限定于全局portlet Session的生命周期范围内。 请注意假如你在编写一个标准的基于Servlet的web应用并且定义了一个或多个具有global session作用域的bean系统会使用标准的HTTP Session作用域并且不会引起任何错误。 3.3 IntrospectorCleanupListener Introspector作用及影响 在分析IntrospectorCleanupListener之前先了解一下Introspector。Introspector是JDK中java.beans包下的类它为目标JavaBean提供了一种了解原类方法、属性和事件的标准方法。通俗的说就是可以通过Introspector构建一个BeanInfo对象而这个BeanInfo对象中包含了目标类中的属性、方法和事件的描述信息然后可以使用这个BeanInfo对象对目标对象进行相关操作。 Introspector间接持有了BeanInfo的强引用。如果使用Introspector操作了很多类那么Introspector将间接持有这些BeanInfo的强引用。在发生垃圾收集的时候检测到这些BeanInfo存在引用链则这些类和对应的类加载器将不会被垃圾收集器回收进而导致内存泄漏。所以为了解决这个问题在使用Introspector操作完成后调用Introspector类的flushCaches方法清除缓存。 配置IntrospectorCleanupListener 此监听器主要用于解决java.beans.Introspector导致的内存泄漏的问题。JDK中的java.beans.Introspector类的用途是发现Java类是否符合JavaBean规范。如果有的框架或程序用到了Introspector类,那么就会启用一个系统级别的缓存,此缓存会存放一些曾加载并分析过的JavaBean的引用。当Web服务器关闭时,由于此缓存中存放着这些JavaBean的引用,所以垃圾回收器无法回收Web容器中的JavaBean对象,最后导致内存变大。而org.springframework.web.util.IntrospectorCleanupListener就是专门用来处理Introspector内存泄漏问题的辅助类。IntrospectorCleanupListener会在Web服务器停止时清理Introspector缓存,使那些Javabean能被垃圾回收器正确回收。Spring自身不会出现这种问题因为Spring在加载并分析完一个类之后会马上刷新。java.beans.-Introspector缓存,这就保证Spring中不会出现这种内存泄漏的问题。但有些程序和框架在使用了JavaBeans Introspector之后,没有进行清理工作(如Quartz,Struts),最后导致内存泄漏。 ​ 在以往的工作经历中多次看到在web.xml中将IntrospectorCleanupListener配置成非第一个listener。官方的表述是必须将此监听器配置成web.xml中的第一个listener才能在合适的时间发挥最有效的作用。原因其实很简单在Servlet3.0规范之前监听器的调用是随机的而从Servlet3.0开始监听器的调用顺序是根据其在web.xml中配置的顺序并且实现ServletContextListener的监听器contextInitialized方法调用顺序是按照在web.xml中配置的顺序正序依次执行而contextDestroyed方法的调用顺序是按照在web.xml中配置的顺序逆序依次执行。所以如果Introspector-CleanupListener被配置成了第一个listener那么它的contextDestroyed方法将最后一个执行将发挥最有效的清除作用而如果不是那么可能会残留未被清除的缓存。 四、Servlet API中Web事件监听器 4.1 ServletContextListener – 监听servletContext对象的创建以及销毁 contextInitialized(ServletContextEvent arg0) – 创建时执行contextDestroyed(ServletContextEvent arg0) – 销毁时执行 4.2 HttpSessionListener – 监听session对象的创建以及销毁 sessionCreated(HttpSessionEvent se) – 创建时执行sessionDestroyed(HttpSessionEvent se) – 销毁时执行 4.3 ServletRequestListener – 监听request对象的创建以及销毁 requestInitialized(ServletRequestEvent sre) – 创建时执行requestDestroyed(ServletRequestEvent sre) – 销毁时执行 4.4 ServletContextAttributeListener – 监听servletContext对象中属性的改变 attributeAdded(ServletContextAttributeEvent event) – 添加属性时执行attributeReplaced(ServletContextAttributeEvent event) – 修改属性时执行attributeRemoved(ServletContextAttributeEvent event) – 删除属性时执行 4.5 HttpSessionAttributeListener --监听session对象中属性的改变 attributeAdded(HttpSessionBindingEvent event) – 添加属性时执行attributeReplaced(HttpSessionBindingEvent event) – 修改属性时执行attributeRemoved(HttpSessionBindingEvent event) – 删除属性时执行 4.6 ServletRequestAttributeListener --监听request对象中属性的改变 attributeAdded(ServletRequestAttributeEvent srae) – 添加属性时执行attributeReplaced(ServletRequestAttributeEvent srae) – 修改属性时执行attributeRemoved(ServletRequestAttributeEvent srae) – 删除属性时执行
http://www.pierceye.com/news/485225/

相关文章:

  • 广东网站备案进度查询长沙seo网络营销推广
  • 网站建设的一般过程包括哪些内容简单网页
  • 眉山市规划建设局网站专做网页的网站
  • 珠海网站建设开发ck网站
  • 医疗网站设计小程序开发制作费用
  • 德州网站建设网页设计实验报告总结
  • 易烊千玺个人网站入口什么是网站建设的建议
  • 哪个网站做供求信息app开发公司排行榜
  • 信誉好的广州外贸网站未来做哪些网站能致富
  • 运城推广型网站建设温州的网站建设公司
  • 怎么样做网站编程一般通过哪些行为来处理人际关系
  • 学校的网站开发过程wordpress公司展示网站
  • 贵港市建设局网站网站建设优化之优化关键字
  • 网站开发设计比较好的公司电子烟网站设计
  • 群辉 wordpress套件阜阳网站优化
  • 如何做网站哪个站推广网站自助建设平台
  • 西安大网站建设公司排名沈阳网络维护公司
  • 个人建立一个网站要多少钱乔拓云h5制作
  • 蒙阴网站建设百度指数排名
  • 视频网站如何推广做模具做什么网站
  • 关于旅游的网站建设论文广州外贸网站建设公司价格
  • 怎么给自己制作一个网站wordpress 中文摘要
  • 如何看网站的ftp服装网站建设策划书3000字
  • 无锡网站建设 网站制作常见的网站首页布局有哪几种
  • 网站研发PHP MYSQL网站开发全程实
  • 简约型网站国外做电商平台的网站还有什么
  • 云南昆明网站建设公司jsp网站开发详解下载
  • 上海h5网站开发网站建设在开封找谁做
  • 滨海建设局官方网站营销网络平台
  • 中国小康建设网是骗子网站吗?建设宁波市分行的互联网网站