问题标签 [servlet-listeners]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
703 浏览

java - ServletContext 属性和静态属性

因此,我正在尝试建立一个在应用程序的多次使用(页面访问)中保持持久的 Mongo 连接。我厌倦了在测试期间建立的所有这些连接,我想通过拥有那个单一的持久连接来使用正确的程序。最佳实践等等。

这是我所拥有的:

web.xml

com.core.tools.MyServletContextListener

实体管理器

发生什么了:

好消息 - 现在我的连接在服务器关闭时得到清理。

坏消息 - 我仍然不断获得大量的连接被创建。每次我按下按钮时,它都会建立一个新的连接……但只有大约 4 或 5 个连接。然后它突然停止添加新连接一段时间。然后它会再增加3个。然后等待。然后另一个2。然后什么都没有。然后几分钟后,它突然又增加了 5 个连接。

困惑:我什至不知道它是如何建立这些联系的。跟踪方法调用 -setupMongoClient只调用一次- 当 apache 服务器启动时。它是整个系统中唯一设置mongoConnection.

每当我按下按钮时,mongoConnection都没有设置。然而,数据是从 mongo 数据库中提取的,测试mongoConnection表明它不为空。

怎么mongoConnection不为空?为什么偶尔会建立新的联系?

0 投票
1 回答
208 浏览

java - 会话被破坏后如何​​更新数据库?

在我的网站中,当用户打开主页时,我正在创建一个会话。现在,如果他将一些项目添加到购物车中,项目将保存在一个 db 表中,其中会话 ID 和项目 ID 作为列。现在,如果有人关闭他的浏览器,那么具有这些会话 ID 的项目应该被删除。如果我使用 sessionDestroyed() 方法,那么如何获取被销毁的会话的会话 ID?因为我必须拥有会话 ID 才能从表中删除项目。我可以在侦听器类中导入 HttpServletRequest 吗?

0 投票
3 回答
31668 浏览

spring-mvc - 我收到“org.apache.catalina.core.StandardContext startInternal SEVERE:错误 listenerStart”。一些线索?

我正在开发一种复杂的 hello world-spring webapp(因为它只有最低限度的功能:一个控制器和一个视图(用 thymeleaf 制作)、简单的数据库连接(oracle)和简单的电子邮件发送功能)。

现在,我正在尝试使用我的 IDE(IntelliJ Idea 12.1.3 Ultimate)将此 webapp 部署到 tomcat-7 中,但从控制台获取时根本没有成功:

从Tomcat的日志中:

在添加电子邮件内容(取自此处)之前,webapp 运行良好,但是在添加电子邮件相关服务和控制器时,一切都会停止并org.apache.catalina.core.StandardContext startInternal SEVERE: Error listenerStart出现。

我使用的是 Spring 3.1.1,Thymeleaf 2.0.12,我没有使用 maven,这是我的web.xml

有人建议像 char 编码这样基本的东西。你认为这可能是一个正当的理由吗?谁能把我引向正确的方向?一些进一步的阅读?一些忠告?提前致谢!

0 投票
2 回答
568 浏览

eclipse - 终止在 Tomcat 中运行的 OSGi 框架

根据http://help.eclipse.org/indigo/index.jsp?topic=%2Forg.eclipse.platform.doc.isv%2Fguide%2Fua_help_war.htm我设置了一个运行多个 eclipse-help- 的专用 Tomcat 服务器插件。

服务器和帮助都启动并运行良好。但现在我意识到停止服务器尤其是 OSGi 框架似乎是一个问题。如果部署了帮助战,我总是必须终止服务器进程,并且我相信我必须优雅地关闭 OSGi 框架。

经过一番调查,我想出了以下 ServletContextListener 的实现,它通过调用 bundleContext.getBundle(0).stop() 来停止系统捆绑:

但是 FrameworkUtil.getBundle(org.eclipse.core.runtime.adaptor.EclipseStarter.class) 总是返回 null,所以我从来没有得到对 BundleContext 的引用来停止框架。

编辑: 我在 contextDestroyed() 和 contextInitialized() 中也将代码更改为 sce.getServletContext().getAttribute("osgi-bundlecontext") ,但在这两种情况下我都没有引用包上下文。捆绑上下文始终为空。

在这种情况下如何获取 bundleContext 来停止系统捆绑?或者当服务器关闭时如何优雅地停止 OSGi 框架?

0 投票
1 回答
133 浏览

java - 单独的 httpsession 侦听器实例是否与创建的每个会话绑定?

我需要向我的应用程序添加一个会话侦听器。我需要知道是否在创建的每个会话中注册了单独的会话侦听器,或者所有会话都由单个(每个应用程序)侦听器侦听。

0 投票
1 回答
1892 浏览

java - 从 ServletContext 中移除监听器

我想知道如何EventListenerServletContexthttp://docs.oracle.com/javaee/6/api/javax/servlet/ServletContext.html)中删除一个。后者提供了一种addListener方法,但没有删除侦听器。听众是否可能被弱引用所持有,并且可以通过失去所有强引用来取消注册?或者如果我的应用程序未部署会发生什么?侦听器是否仍处于活动状态?

0 投票
2 回答
136 浏览

servlets - Java EE + openmaple

目前我尝试将 openmaple 集成到 Java EE Web 应用程序中。我正在使用Tomcat v7.0。因为我只有在决定在特定的 ServletContextListener 中启动 openmaple 引擎时才能连接到 openmaple 内核,该 ServletContextListener 在服务器启动时打开引擎并保持打开状态。效果很好,引擎打开了。我的问题是当我想计算某事时出现错误。在我的 Servlet 代码中使用引擎。Windows (UAC) 已停用。这里的错误信息:

有人能帮帮我吗?

非常感谢!

马丁

0 投票
6 回答
23946 浏览

servlets - 未调用 ServletContextListener

我使用 Eclipse Maven 插件创建了一个 Java EE 7 项目。我的问题是当我运行应用程序时,实现 SerlvetContextListener 的类不会被调用。是什么导致了这个问题?

网页.xml:

0 投票
1 回答
1592 浏览

java - Is it possible to test an HttpSessionListener with Spring-MVC and Spring-Test-MVC?

We have some logic in an HttpSessionListener that we'd like to test. We're using Spring MVC and the associated testing framework, with MockMvc and so on. Unfortunately, we haven't found a way to get the listener initialized so that when a session is created or destroyed the appropriate listener methods are called.

I have tried to add the listener programmatically rather than using web.xml (as described in this question) and this works fine when running in a Servlet 3.0 container. But when running with Spring Test it all goes wrong, as the MockServletContext does not support the addListener method, and so throws an exception.

Is there any way to test such listeners without using integration testing?

0 投票
2 回答
1510 浏览

java - 防止使用相同的登录凭据进行多次登录

我正在开发一个 Web 应用程序,它需要防止同时使用相同的用户名和密码进行多次登录。

如果它发生在同一台机器上,那么我们需要对用户会话做一些事情,但它也应该防止他们使用相同的用户名和密码在不同的机器上登录。

什么是最好的方法:-

1) 我应该将机器的用户会话、凭据和 IP 地址存储在数据库中吗?

2)我们是否应该在应用程序本身中使用会话跟踪机制。如果是这样,最好的方法是什么?

另外,我们必须牢记以下几点:

1) 如果用户在没有注销的情况下关闭浏览器。

2) 如果会话超时。

希望它能解决这个问题。