ServletContextLisenter

手把手教你用Zemax优化MTF:从‘离焦平衡球差’到高频像差控制的实战技巧 本文详细介绍了如何使用Zemax优化MTF性能,从基础设置到高级技巧的全流程。通过具体案例,讲解了如何利用离焦平衡球差提升中频MTF,以及识别和控制高频像差的方法,帮助光学设计工程师和学生有效提升成像质量。 阅读详情

Servlet--->ServletContext---->ServletContextLisenter

1.Servlet:是在服务器上运行的小程序。这个词是在 Java applet的环境中创造的,Java applet 是一种当作单独文件跟网页一起发送的小程序,它通常用于在客户端运行,结果得到为用户进行运算或者根据用户互作用定位图形等服务。

  工作模式:

    a.客户端发送请求至服务器
    b.服务器启动并调用 Servlet,Servlet 根据客户端请求生成响应内容并将其传给服务器
    c.服务器将响应返回客户端
2.ServletContext:

ServletContext是Servlet最大的一个接口,呈现了web应用的Servlet视图。ServletContext实例是通过getServletContext()方法获得的,由于HttpServlet继承了Servlet类,因此HttpServlet同样具有该方法。

每个应用都会有一个ServletContext对象与之关联,当容器分布在多个虚拟机上时,web应用分布的每个虚拟机上都拥有一个ServletContext实例。在缺省情况下,ServletContext不是分布式的,并且只存在一个虚拟机上。

通过ServletContext可以访问应用范围的初始化参数和属性。

(1)在web.xml中配置初始化参数:
<context-param>
<param-name>adminEmail</param-name>
<param-value>webmaster</param-value>
</context-param>
<context-param>元素是针对整个应用的,所以并不嵌套在某个<servlet>元素中,该元素是<web-app>元 素的直接子元素。
(2)从Servlet中访问初始化参数:
ServletContext application=this.getServletContext();
out.println("send us your")
out.println(application.getInitParameter("email"));
out.println("'>email");

3.ServletContextLisenter:

ServletContext被Servlet程序用来与web容器进行通信。例如写日志,转发请求。每个web应用程序含有一个Context,被Web应用内的各个程序共享。因为Context可以用来保存资源并且共享,因此ServletContext的最大应用是Web缓存----把不经常更改的内容读入内存,所以服务器响应请求的时候就不需要进行慢速的磁盘I/O了。
ServletContextLisenter是ServletContext的监听者,如果ServletContext发生变化,如服务器启动时ServletContext被创建,服务器关闭时ServletContext将要被销毁。

在JSP文件中,application 是 ServletContext 的实例,由JSP容器默认创建。Servlet 中调用 getServletContext()方法得到 ServletContext 的实例。

我们使用缓存的思路大概是:
   1.服务器启动时,ServletContextListener的contextInitialized()的方法被调用,所以在里面创建好缓存,可以从文件中或者数据库中读取缓存内容生成类,用      ServletContext.setAttribute()方法将缓存类保存在ServletContext实例中。

   2.程序使用ServletContext.getAttribute()读取缓存。如果是 JSP,使用application.getAttribute()。如果是 Servlet,使用 getServletContext().getAttribute()。如果缓存发生变化(如访问计数),你可以同时更改缓存和文件/数据库。或者你等 变化积累到一定程序再保存,也可以在下一步保存。

  3. 服务器将要关闭时,ServletContextListener 的 contextDestroyed()方法被调用,所以在里面保存缓存的更改。将更改后的缓存保存回文件或者数据库,更新原来的内容。

4.布署 ServletContextListener

你实现(implements)了 ServletContextListener 编译后,把它放在正确的WEB-INF/classes目录下,更改WEB-INF目录下的 web.xml文件,在web-app节点里添加

<listener>
	<listener-class>MyServletContextListener</listener-class>
</listener>

【UE5】VoskPlugin实战:离线语音识别与实时文本转换全流程解析 本文详细解析了如何在UE5中利用VoskPlugin实现离线实时语音转文字功能。从环境搭建、插件配置、核心代码编写到蓝图测试,提供了完整的实战教程。重点阐述了离线方案零延迟、数据私密的优势,并分享了模型选择、性能优化及常见问题的解决方案,帮助开发者快速构建稳定可靠的语音交互系统。 阅读详情

相关推荐

【Origin+Python】使用External Python批量出图代码参考2

不使用part2 的代码,自己打开一个origin2022的界面。这里主要介绍一些进阶代码以及使用盗版origin要如何。3 批量绘制相同设置的曲线图。然后就是没有水印的图片了。

zeng001201的博客 1867

利用ServletContextLinstener获取并缓存数据源

            利用ServletContextLinstener获取数据源我们在设计web应用程序的时候,在保证功能实现的基础上就会考虑增强应用程序的性能,我们通常会在web服务器开始时缓存一些静态数据或者完成一些代价昂贵的操作。一个最佳实践是使用实现了javax.sql.DataSource接口的JDBC连接池。DataSource从JNDI树中获得。每调用一次SQL就要使

shadow841021的专栏 1595

基于FFT+BP神经网络/决策树的轴承故障诊断

基于FFT+BP神经网络/决策树的轴承故障诊断

天天酷科研的博客 117

ServletContextListener

Servlet应用程序需要放置到servlet容器中运行,那么应用程序需要与容器进行配合运行,就需要使用ServletContext 与 Web 容器通信。例如写日志,转发请求等。 每一个 Web 应用程序含有一个Context,也就是ServletContext,被Web应用内的各个程序共享。因为Context可以用来保存资源并且共享,所以我所知道的 ServletContext 的最大应用是...

君寞傲 4920

Spring boot之ServletContextInitializer

Spring Boot提供的在Servlet 3.0+环境中用于程序化配置ServletContext的接口。该接口 ServletContextInitializer主要被RegistrationBean实现用于往ServletContext容器中注册Servlet,Filter或者EventListener。这样设计的目的主要是旨在降低用于在war包中第三方库可能破坏spring boot 应用的风险,同时也方便spring容器管理这些beans。这些ServletContextInitializer实

bearboy80的专栏 3024

【框架专题】——管理型容器——SpringBoot内置IOC容器/内置WEB容器原理

SpringBoot源码——内置Tomcat原理 SpringBoot源码——自动配置原理

weixin_44275259的博客 511

ServletContextListener使用详解

Servlet API 中有一个 ServletContextListener 接口,它能够监听 ServletContext 对象的生命周期,实际上就是监听 Web 应用的生命周期。 当Servlet 容器启动或终止Web 应用时,会触发ServletContextEvent 事件,该事件由 ServletContextListener 来处理。在 ServletContextListen...

GoodIdea 1万+

ServletContextListener的流程笔记

在之前我们学习springboot的时候大概的讲过启动tomcat的过程。说到tomcat也就是servlet容器的问题,至于今天所说的ServletContextListener其实有很...

tianjingle 841

Java ServletContextListener监听器的使用

ServletContextListener监听器的作用 用来监听ServletContext域对象的创建和销毁的监听器。 ServletContext创建和销毁 ServletContext 创建:在服务器启动的时候,为每个web应用创建单独的ServletContext对象。 销毁:在服务器关闭的时候,或者项目从web服务器中移除的时候。 ServletContextListen...

学亮编程手记 1169

监听器(Listener)

Listener是Servlet的监听器,可以监听客户端的请求,服务端的操作等 定义监听器类的步骤 1)要想让一个类成为监听器类,就必须去实现监听接口,及实现接口的方法, 常见的监听接口如下: ServletContextListenerServletContextAtrributeListenerHttpSessionListener HttpSessi

吴家齐的专栏 672

DBDataSource platformDataSource has not registed!的问题

服务里引入平台的jar包,但一直报这个错误 **** DBDataSource platformDataSource has not registed! 这是由于采用第二代架构的jar包,但没有按其方式配置导致的。要求在web.xml中配置:     com.sinosoft.sysframework.web.control.OnlineUserListener        ac

我的Java之路,关注Java技术的发展 6233

java servletlis_WEB.XML中Lisenter与Servlet的加载顺序

问题描述:同事在测试环境升级一个定时任务的listener后,启动系统出现找不到数据源的错误。DBDataSource platformDataSource has not registed !分析过程:去掉这个listener后,程序可以正常启动。数据源也可以正常连接。说明中间件的数据源配置没问题。问题出在新添加到监听上。仔细看过这个新添的监听,发现这个listener用到了数据源。而liten...

weixin_32284931的博客 266

监听-创建静态监听

lisenter 注册 1)动态监听:listener 采用的是默认端口(1521),当实例启动时,由pmon 每分钟自动将service name,本机的1521端口号注册到listener 2)静态监听:当liste...

552

DataSourceTestCase 使用多个数据源

在构造方法中调用super(),即使用默认的test.properties加载默认数据源,然后手工注册其他数据源。 注意:如果出现DBDataSource XXX has not registed!错误,即需要修改dbmanager-config.xml文件,添加对应name的datasource-define。测试代码示例如下: public class SimpleTest e

我的Java之路,关注Java技术的发展 1988

ServletContextListener使用详解(监听Tomcat启动、关闭)

  在Servlet API中有一个ServletContextListener接口,它能够监听ServletContext对象的生命周期,实际上就是监听Web应用的生命周期。   当Servlet容器启动或终止Web应用时,会触发ServletContextEvent事件,该事件由ServletContextListener来处理。在ServletContextLis...

weixin_34347651的博客 2831

JavaWebServletContextListener监听器

https://blog.csdn.net/qq_36542090/article/details/80878955 https://www.cnblogs.com/lizm166/p/7919388.html

const_ 775

ServletContextListener用法

ServletContextListener作为Web应用服务的一部分,处理Web应用servlet上下文(context)的变化的通知该接口有两个重要方法需要实现,分别是: ContextInitialized() ContextDestroyed() 它会监听Servlet容器,当应用开始的时候它会调用ContextInitialized()方法;当应用关闭的时候,它同样会调用Con

为了忘却的纪念 1004

ServletContext

ServletContextListener 监听器有contextInitialized 和contextDestroyed 两个方法。ServletContext 容器 用来保存上下午数据,如数据字典,spring 就是基于此 转载于:https://www.cnblogs.com/brucetie/p/3923153.html...

weixin_30558305的博客 122

oracle配置多个监听注意,Oracle如何配置多个监听器

何为一个instance配置多个监听,并且实现Client Load Balancing和Client Load Balancing。打开NETCA,配置两个监听器。LISENTER,默认监听器,一路next,就配置完毕, 监听端口1521。配置LISENTER2,注意监听端口改为1522,其它和LISENTER一致。这个时候,LISENTER已经可以使用了。但是LISENTER2还是不行,因为O...

weixin_32861907的博客 864

引入 ServletContextListener @Autowired null 解决办法

public class ScheduleController implements ServletContextListener { @Autowired private ScheduleService scheduleService; @Override public void contextDestroyed(ServletC...

weixin_42981419的博客 618

ServletContextListener 启动SPRING加载数据到缓存的应用

  java 代码 public class LoadTreeForXML implements ServletContextListener {    public void contextInitialized(ServletContextEvent servletContextEvent) {        ServletContext servletContext = se...

weixin_34258782的博客 210

CST丛书18算例07_多层介质雷达罩的透波率和瞄准误差.pdf

CST丛书18算例07_多层介质雷达罩的透波率和瞄准误差

ISO7816传输协议详尽中文版终稿.pdf

ISO7816传输协议详尽中文版终稿.pdf

上一篇: JasperReports
下一篇: struts中使用token进行表单重复提交的验证
PrincessofUtopia
博客等级 码龄14年 5粉丝 27原创
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值