草庐IT

java - 从自身启动/停止 Web 应用程序?

我使用Java、Struts制作了一个Web应用程序,并在ApacheServer和Tomcat上运行。能够从Web重新启动应用程序将非常有用。我不想重启Tomcat,只重启这个webapp,就像TomcatManager那样。你知道我该怎么做吗?如果没有,有什么方法可以模拟该行为(重新加载config.properties、使Hibernate初始化进程等)?非常感谢。 最佳答案 我快速浏览了Tomcat管理器的源代码。看起来有一个类是Tomcat源代码的一部分,名为“ContainerServlet”。来自javadocs:AC

java - 使用 Vaadin 生成缓慢的 HTML

我是一名遇到问题的开发人员;)目前我们的项目(使用Vaadin)接近尾声,但是......我们在其中一个View中显示简单数据时遇到了一些麻烦。(要显示超过500KB的数据,在Vaadin完成生成数据后超过15KDOM元素......+在完成之前还有很多,很多很多秒)。我的任务是找出如何使它尽可能小和尽可能快,所以我的第一个猜测是使用一些其他布局而不是标准Vaadin中可用的布局。我使用了WeeLayout、DashLayout和CssLayout(默认),比较如下:weeLayout-pagesize:990KB-DOMelements(SMALL):1454-DOMelements

java - 如何转换相同加载不同类加载器的两个实例?

我有两个不同的网络应用程序,每个应用程序都使用不同的类加载器加载相同的类A。当我将一个实例放入session中然后从另一个Web应用程序获取它时,将抛出一个ClassCastException。例如,在webappA中,我将a存储在session中,然后在webappB中,我从session中获取a并将其转换为A,ClassCastException被抛出。有办法解决吗? 最佳答案 Isthereawaytoresolvethis?基本没有就JLS而言,类型是不同的类型,JVM不可能允许您伪装成其他类型。例如,类可以有不同的代码和不

java - 在 Maven 中集成 Tomcat 重新加载源?

我正在为我的网络应用程序使用Maven来构建、启动和处理库。所以我运行tomcat7:run来开发我的应用程序...但是如果我更改代码,tomcat将不会自动重新加载代码更改,因此我需要重新启动。在使用Maven之前,我使用“SysdeoEclipseTomcatLauncher插件”来运行和创建我的项目。这个插件允许即时查看代码更改,我知道PLAY!框架做同样的事情。所以可以配置maven在运行时重新加载我的代码更改吗?我会提高我的工作进度... 最佳答案 可以通过确保Tomcatcontextisreloadable自动重新加载

java - 当客户端使用 readTimeout 关闭连接时服务器会发生什么

当客户端使用readTimeout关闭与API的连接时,服务器会发生什么。请求的执行将完成还是一旦超时发生就会中断,或者执行将完成并且响应流被服务器应该发送给用户的响应 最佳答案 超时是关闭连接的一种不整洁的方式-当您的连接端超时时,您很可能无法告诉另一端您已经超时并正在关闭连接。也就是说,连接不是通过双方的协调行动正式关闭的,它只是一方决定将其视为已死亡。解决这个问题的方法是在连接的两端都有超时-如果一侧超时,另一侧最终也会超时。至于在服务器端到底发生了什么:由于服务器在自己的超时到期之前不知道连接已死,因此它会认为连接良好,并且

java.net.SocketTimeoutException : Read timed out

我有一个客户端服务器架构的应用程序。客户端将JavaWebStart与JavaSwing/AWT结合使用,而sert将HTTP服务器/Servlet与Tomcat。通信是由对象的序列化产生的,创建一个ObjectOutput序列化一个字节数组并发送到服务器分别调用了ObjectInputStream和反序列化。应用程序遵循与某个特定的正确通信开始显示错误的并发时间“SocketException读取超时”。当服务器调用该方法时发生错误我的servletdoPost方法中的ObjectInputStream.getObject()。tomcat会变慢并且错误开始减少服务器响应时间,直到崩

java - Tomcat:将 session 存储在数据库中

关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。关闭4年前。Improvethisquestion我正在寻找一种方法来避免内存中session复制/集群并将session存储在数据库中。此时使用Tomcat的JDBCStore是没有用的,因为它只是将不活动的session存储在数据库中以节省服务器内存。有什么建议吗?预先感谢费边

java - 绝对uri : http://java. sun.com/jsp/jSTL/core无法解析

这个问题在这里已经有了答案:HowtoinstallJSTL?Theabsoluteuri:http://java.sun.com/jstl/corecannotberesolved(19个回答)关闭7年前。我选择了一个新创建的mavenwebapp项目,想用它做最简单的mvc应用程序。我的环境看起来像这样:spring-corespring-testspring-beansspring-contextspring-aopspring-context-supportspring-txspring-ormspring-webspring-webmvcspring-asmlog4jhibe

java - 为什么 Tomcat 在取消部署时会抛出 'java.lang.IllegalStateException: Class invariant violation'?

我有一个网络应用程序(Tomcat6,log4j1.2.16),它以一个监听器开始。取消部署应用程序会引发以下异常:INFO(HqListener.java:28)-HqListenerexited!log4j:ERRORlog4jcalledafterunloading,seehttp://logging.apache.org/log4j/1.2/faq.html#unload.java.lang.IllegalStateException:Classinvariantviolationatorg.apache.log4j.LogManager.getLoggerRepository

Tomcat解析Request对象

当Tomcat创建一个HttpServletRequest对象并将其传递给Servlet的service方法时,这个对象并不完全包含请求体的数据。这是因为请求体的解析是延迟进行的,通常是在Servlet需要访问这些数据时(比如通过调用request.getParameter("name"))才进行的。这种设计是为了优化性能。HTTP请求体可能包含大量的数据,如果Tomcat在接收到请求后立即解析整个请求体,可能会消耗大量的内存和计算资源。因此,Tomcat采用了延迟解析的策略,只在Servlet需要这些数据时才进行解析。所以,当HttpServletRequest对象传递给Servlet的se