Tag: tomcat

Web应用程序中序列化的目的

1.在Web应用程序中使用序列化的位置。 2.表单bean是否可序列化是必要的。 3.在tomcat中session.ser文件的用法是什么..

如何使Tomcat中的所有会话失效?

我想在Tomcat中使所有会话失效。 我们在Fitnesse下测试我们的产品,并且一些会话仍然存在,并且会话结束导致测试之间的依赖性。 我使用以下代码手动完成,但仍保留一些会话(我可以使用http:// localhost:8080 / manager / html / list url进行检查) public static void expireAllSessions() { String[] applications = { “a”, “b”, “c”, “d”, “e” }; for (String application : applications) { try { expireAllSessions(application); } catch (Exception e) { logger.error(e); } } } private static void expireAllSessions(final String application) throws Exception { // cf […]

Tomcat内存消耗超过堆+ permgen空间

我观察到操作系统所说的内容与jVisualVM所说的内容之间的Tomcat RAM消耗不匹配。 从htop开始,Tomcat JVM拥有993 MB的驻留内存 从jVisualVM,Tomcat JVM正在使用 堆最大值:1,070,399,488 B 堆大小: 298.438.656 B 堆使用:可变,介于170MB和270MB之间 PermGen Max:268,435,456 B PermGen尺寸: 248,872,960 B PermGen使用:略有变化,约150MB 从我的理解,操作系统内存消耗应该是堆大小+ PermGen大小〜= 522 MB。 但这比我观察到的要少471 MB 。 任何人都知道我在这里错过了什么? PS:我知道我的最大堆远远高于使用的,但我认为如果JVM不使用它(即堆大小较低)应该没有效果。 谢谢! 渣子

如何配置EclipseLink 2.0和Spring 3.0.5以及Tomcat 6?

我的Web应用程序使用Tomcat 6.0.18和Spring 3.0.5以及eclipselink 2.0.1和javax.persistence 2.0.0,SQL Server数据库。 我无法弄清楚配置,也无法找到具有此类配置的工作示例。 我尝试将loadTimeWeaver的属性添加到entityManagerFacotory中,但它在Spring 3中打破了AutoWired批注,如下面的applicationContext.xml中所示: 在appname-servlet.xml中: 但是当我禁用LoadTimeWeaver时,我的应用程序可以从JPA代码创建数据库,但无法将数据保存到数据库中。 false Persistence.xml com.generalform.eclipselink.model.Todo 如果您能指导我将EclipseLink集成到Spring 3和Tomcat中,我将非常感激。

如何在Tomcat启动或应用程序部署上运行特定的Java代码?

可能重复: tomcat自动启动servlet 如何在tomcat服务器启动时加载java类(而不是servlet) 我在Tomcat服务器上运行Web应用程序。 我想在Tomcat启动或部署此应用程序时在我的应用程序中运行特定代码。 我怎样才能实现它? 谢谢

如何读取log4j输出到网页?

我有一个用于管理目的的网页,它运行一项任务(从远程站点获取图像)。 为了能够仅使用浏览器调试任务,没有ssh等,我希望能够从执行线程读取所有日志输出并将其吐出到网页。 任务归结为: 在呼叫开始时更改当前线程的日志级别,并在完成呼叫时恢复。 读取当前线程的所有日志输出并将其存储在字符串中。 所以在伪代码中,我的execute()方法看起来像这样:(我正在使用struts2) public String execute() throws Exception { turnLoggingLevelToDebugOnlyForThisThread() … do stuff… restoreLoggingLevelForThisThread() String logs = readAllLogsByThisThread(); } 可以用log4j完成吗? 我正在使用tomcat,struts2,log4j和slf4j。 编辑1:我应该注意,动机是能够在网页上看到现有日志,而无需在代码中添加新的日志行。 想象一个漂亮的Web调试界面,它允许您运行操作,结果会吐出操作的日志。 编辑2:我还应该注意到我已经在使用log4j(通过slf4j)和一个log4j.xml,所以我正在寻找的解决方案需要将当前的日志记录系统放在一边,而不是破坏它。

Tomcat会话意外到期

我们正在运行处理超过100个并发会话的tomcat应用程序服务器。 在过去的两个月中,最活跃的用户注意到他们有时会从系统中被踢出。 据我所知,日志tomcat会话没有任何理由过期。 我认为Web应用程序方面没有任何问题。 tomcat方面有什么问题吗? Tomcat 6.0.18。

具有多个应用程序的Tomcat上的类加载器行为

在Tomcat 5.5服务器上,我在系统类路径中放了一个类(并修改catalina.bat来选择它),或者如果我将类放在共享的lib目录中。 现在,如果我有两个不同的应用程序使用相同的类,它们的WEB-INF lib / classes目录中没有该类,则它们使用该类的相同实例。 我理解一个类加载器将委托给它的父类加载器的概念,如果它找不到它,那么在这种情况下,由于该类不存在于WEB-INF / classes或WEB-INF / lib中WebAppX类加载器将分别尝试共享,通用和系统类加载器。 然而,这对我来说似乎很奇怪,两个不同的应用程序可以使用此方法共享上下文。 有人能帮助我理解为什么会这样。 例如,在下面的代码中,当共享CommonCounter时,两个servlet分别部署在单独的战争中,并且它们可以读取由另一个增加的计数器值。 编辑 对我而言,两个独立的应用程序可以以这种方式共享上下文。 实际上,如果它们具有相同的类实例,它们甚至可以跨两个不同的应用程序实现multithreading/同步,这看起来非常违反直觉。 package com.test; public class CommonCounter { public static int servlet1; public static int servlet2; } public class Servlet1 extends javax.servlet.http.HttpServlet implements javax.servlet.Servlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { CommonCounter.servlet1++; System.out.println(“Other one had “+CommonCounter.servlet2+” […]

没有弹簧的CXF

是否可以在没有Spring的情况下使用CXF和Tomcat? 如果是这样,怎么样?

用于eclipse的tomcat中的servlet的java.lang.ClassNotFoundException

我开始使用servlet在eclipse中开发一个java web应用程序,并在我的localhost上使用tomcat服务器进行测试。 我已经在tomcat中部署了应用程序,但是当我尝试在浏览器中加载目标URL时,我得到以下堆栈跟踪: Jul 31, 2013 2:58:31 PM org.apache.catalina.core.ApplicationContext log INFO: Marking servlet ImageServlet as unavailable Jul 31, 2013 2:58:31 PM org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Allocate exception for servlet ImageServlet java.lang.ClassNotFoundException: test.ImageServlet at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) at org.apache.catalina.core.DefaultInstanceManager.loadClass(DefaultInstanceManager.java:527) at org.apache.catalina.core.DefaultInstanceManager.loadClassMaybePrivileged(DefaultInstanceManager.java:509) at org.apache.catalina.core.DefaultInstanceManager.newInstance(DefaultInstanceManager.java:137) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1144) at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:865) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:136) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) […]