- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我想知道如何从 ServletContext
( http://docs.oracle.com/javaee/6/api/javax/servlet/ServletContext.html ) 中删除 EventListener
。后者提供了一个 addListener
方法,但没有删除监听器的方法。听众是否可能被弱引用持有并且可以通过丢失所有强引用来注销?或者如果我的应用程序未部署会怎样?监听器是否仍然活跃?
最佳答案
这不是问题的答案,我只是想说明几点。
The later offers a addListener method but nothing to remove a listener.
因为您需要先决定是否要有监听器。看Javadoc :
Interface for receiving notification events about ServletContext lifecycle changes.
In order to receive these notification events, the implementation class must be either declared in the deployment descriptor of the web application, annotated with WebListener, or registered via one of the addListener methods defined on ServletContext.
addListener()为您提供注册多种类型的监听器的规定,而不仅仅是 ServletContextListener
。如果您选择不在 web.xml 中预先声明监听器,您可以使用它。
The given listener must be an instance of one or more of the following interfaces:
- ServletContextAttributeListener
- ServletRequestListener
- ServletRequestAttributeListener
- HttpSessionListener
- HttpSessionAttributeListener
what happens if my application is undeployed
所有监听器对象将与应用程序一起销毁。监听器在部署 Web 应用程序时在 Web 容器中实例化和注册。
监听器类使用监听器元素在 Web 应用程序部署描述符中声明。它们按调用顺序按类名列出。在 Web 应用程序执行期间,监听器按其注册顺序被调用。在应用程序关闭时,监听器会以与其声明相反的顺序收到通知,在通知上下文监听器之前先通知 session 监听器。在通知上下文监听器应用程序关闭之前,必须先通知 session 监听器 session 失效。
关于java - 从 ServletContext 中移除监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17673141/
我有一个 JSP 网站,不是 Spring MVC,它有一个配置文件 web.xml。 我想要获取 web.xml 文件中的一些设置。 但是,我想从“源包”文件夹中的类中访问这些设置。 我知道我可以将
什么是ServletContext? 根据字面意思即Servlet上下文 服务器会为每一个工程创建一个对象,这个对象就是ServletContext对象,这个对象是 全局唯一的,工程内部的所
我有一个类别列表,这些类别需要存在于应用程序的ServletContext范围内,因为该列表将由每个 View 访问,并且不需要修改。 我尝试在BootStrap.groovy的init方法中设置一个
ServletContext 是否在请求期间更新。例如我有这个代码: public void action(@Context ServletContext context) { Thread.sl
我正在将一些JSF代码从一个项目迁移到另一个项目,突然在我的新项目中ServletContext.TEMPDIR值失败了。我已经遍历了大多数文件,但这是唯一的错误,我不确定该在哪里修复。 tempdi
我正在尝试从服务访问servletContext(应用程序上下文)到集成测试中。 以下是我尝试让它进入我的集成测试的方法: import org.codehaus.groovy.grails.web.
我有 .NET 背景,正在尝试一些 Java(Servlet/JSP)基础知识。在.NET中,我们有ViewState、Session、Application变量。据我所知,Application 变
属性 repository 返回 null。 public class BaseServlet extends HttpServlet { protected MyPersistentMana
因此,我正在尝试建立一个在应用程序的多次使用(页面访问)中保持持久的 Mongo 连接。我厌倦了测试期间建立的所有这些连接,并且我想通过拥有单个持久连接来使用正确的过程。最佳实践等等。 这是我所拥有的
我正在我的 ServletContext 中存储一个 HashMap 对象。但是多个请求线程正在读取和修改这个 HashMap。 因为我相信 ServletContext 对象在请求线程之间共享,所以
您能否解释一下如何在我的Application 的子类中获取ServletContext 实例?可能吗?我试过像下面的代码片段那样做,但它似乎不起作用 - ctx 未设置: import javax.
我正在尝试手动引导 dispatcherservlet 作为练习。代码是 ServletRegistration.Dynamic dispatcher = container.addServlet(
这里的前提是,我不允许在这个网站上使用JavaScript或Cookies。 但是,我不想在每项至少需要密码 15-30 分钟的基本任务中询问用户密码。 我也不喜欢将密码保存到临时文件中,以防程序死掉
如果我使用 ../,为什么 ServletContext#getRealPath() 不会返回正确的路径 此代码有效:- System.out.println(context.getRealPath(
我正在使用上下文来共享登录 session 。我使用 setAttibute 函数。我知道 HttpSession 具有设置最大超时时间的属性。 是否可以以类似的方式设置上下文属性? ServletC
ServletConfig 和 ServletContext 接口(interface)有什么区别? 最佳答案 ServletConfig 参数是为特定 servlet 指定的,其他 servlet
我想听听你的意见。我正在开发一个 Servlet,它必须签署发送到端点的请求。 为了避免从服务器的 keystore 文件中读取、加载它并获取私钥,我在实现 ServletContextListene
我正在寻找一种方法将一些数据从数据库加载到 HashMap 中,并使该映射可用于所有根资源类和一些其他提供程序类(更准确地说是 ContainerRequestFilter 的实现)。我找到并实现了一
是否可以使用此API获取远程资源:ServletContext.getResourceAsStream() 例如:ServletContext.getResourceAsStream("http://
我的 RemoteServiceServlet 的日志输出(GWT) 在使用 getServletContext().log("anything"); 时不会显示在日志文件或标准输出中 对于依赖注入(
我是一名优秀的程序员,十分优秀!