草庐IT

java - 部署到 Tomcat 7 OK 但无法访问应用程序

我有一个在服务器上使用Jenkins->Tomcat7的CI部署的JavaWicket应用程序。直到我尝试通过浏览器访问应用程序(通过管理器应用程序中已部署应用程序的列表)之前,一切似乎都很好。然后我收到404错误。在日志中,我可以从tomcat7-stdout-.log中看到应用程序启动正常-我设置的springbean正在从我的代码中输出init调试语句,因此它看起来可以正常运行。我的开发机器是32位win7。服务器为64位WinServer2008R2考虑到这可能是Jenkins构建war文件的方式,或者32/64位版本之间的不兼容,我在本地安装了Tomcat7,所以它们都在同一

java - 有没有办法在浏览器中实时查看我的网络应用程序 tomcat 日志?

我正在使用log4j来记录我的数据。我希望能够在浏览器中与我的网络应用程序一起实时查看日志文件。有像Chainsaw这样的独立工具,它们非常好,但它们不能用于在浏览器中实时查看日志的目的。谁能帮我解决这个问题? 最佳答案 一个简单的例子是:Servlet(根据需要更改日志文件的路径):@WebServlet(name="Log",urlPatterns={"/log"})publicclassLogServletextendsHttpServlet{privatestaticfinallongserialVersionUID=750

java - Tomcat的Threadpool到底是如何工作的

关闭。这个问题需要更多focused.它目前不接受答案。想改进这个问题吗?更新问题,使其只关注一个问题editingthispost.关闭5年前。Improvethisquestion这是我的理解。ApacheTomcat的线程池(是不是叫连接器Threadpool?)有多个线程(默认200个)。现在这意味着在特定时间,有200人可以与我的Web应用程序进行通信。现在,假设一个特定连接到我的应用程序的场景。我收到一个请求,服务器上的tomcat客户端检查是否有任何线程可用于满足该请求。如果一切正常,否则我们会返回一些错误代码。现在,如果成功,我分配给该请求的那个线程是否会与该特定客户端

java - Logback:如何将日志目录从 "tomcat/bin"更改为与应用程序相关?

我想使用slf4j和logback进行日志记录。你可以在下面看到我的logback.xml:module.log%date%level[%thread]%logger{10}[%file:%line]%msg%n问题是:当我将应用程序部署到Tomcat时,日志文件存储在tomcat/bin文件夹中,我想将其存储在myapp文件夹中(tomcat/webapp/myapp).我该怎么做? 最佳答案 好吧,我解决了我的问题,但它不是很好的解决方案(在我看来)。首先,我将日志文件的绝对路径放在.property文件中。例如:logback

java - 使用 log4j 进行日志记录的嵌入式 Tomcat

我正在使用嵌入式Tomcat8.5.4,即org.apache.tomcat.embedtomcat-embed-core8.5.4实现工作完美(Tomcat工作得很好),唯一困扰我的是嵌入式Tomcat登录System.out。在我的应用程序内部,我使用log4j进行日志记录,因此这导致以下日志记录混合(而不是将Tomcat记录到任何文件):...2017-07-3017:57:54DEBUGEmbeddedTomcat:136-Bindingservlet'sample'topath'/sample/*'.Jul30,20175:57:54PMorg.apache.coyote.A

java - 如何在 Tomcat 中获取 org.apache.catalina.connector.Request 对象?

我需要编写一个Servlet或Filter类来访问org.apache.catalina.connector.Request对象,该对象包装在提供给我的servlet的RequestFacade对象中。转换不起作用,因为RequestFacade不是Request的子类。我需要这个的原因是因为我试图调用Request的setRequestedSessionId()方法,这显然不是Httpservlet规范的一部分。我需要这样做的原因是因为sessionID包含在URL中,名称与JSESSIONID不同。我无法更改URL或参数名称,因此我尝试通过提取sessionID并调用Request

java - 创建线程部署在 Tomcat 中的 Web 应用程序

我正在开发一个部署在Tomcat中的Web应用程序。我们在客户端使用Spring、Hibernate、GWT)。此应用程序的功能之一是在创建、更新或删除任何实体时向用户发送警报(电子邮件)。(警报可以由用户即时添加,因此涉及一些处理-决定应通过电子邮件通知哪些用户)。理想情况下,警报机制应该是异步的,并且应该影响CRUD操作的性能。我首先想到的是创建一个线程和一个阻塞队列。线程不断轮询阻塞队列以查看它是否有任何事件。但是在Web应用程序中创建线程是许多容器不鼓励的事情。有人可以建议/建议-这是正确的做法吗?或者有更好的方法来做同样的事情。如有任何指点,我们将不胜感激。提前致谢,萨钦

java - Tomcat 不刷新响应缓冲区

我在下面的Tomcat7上测试了HttpResponse#flushBuffer和PrintWriter#flush,但似乎响应忽略了它们而不是刷新了尽快通过网络发送内容。importjava.io.IOException;importjava.io.PrintWriter;importjavax.servlet.ServletException;importjavax.servlet.annotation.WebServlet;importjavax.servlet.http.HttpServlet;importjavax.servlet.http.HttpServletReques

java - 使用 Tomcat : Providing multiple projects' dependencies? 部署 Eclipse Web 应用程序

在使用Tomcat6和Eclipse部署我的动态Web应用程序时,我无法提供我正在使用的一些第三方库(JAR文件)。请注意,我确实知道如何在Web应用程序项目“直接”依赖于那些JAR的设置中执行此操作。但是,在我的设置中,我有两个Eclipse项目:core是一个类库,比方说,它依赖于a.jar。web是网络应用程序,它依赖于核心。在web的项目设置中,在DeploymentAssembly类别中,我添加了core,所以Eclipse(或Tomcat-我'我不太确定这里的负责人是谁)正在将core.jar放入我的Web应用程序的libs目录中。问题是:当我试用Web应用程序时,当cor

java - 当作为服务器运行时,Eclipse - Tomcat - java.lang.NoClassDefFoundError : javax/servlet/ServletConfig

我整天都在为此奋斗:我有DynamicWebProject。它运作良好。但在某些时候,我决定清理项目中未使用的额外jar。清理后,我遇到了很多错误。所以我回滚了所有更改(我的意思是我重新调整了所有jar)。但我也玩过项目、Eclipse和调试配置的构建路径。不幸的是我不记得这个变化(用Path的东西)。当我在服务器上运行时,tomcat向我显示:`04.12.201216:37:43org.apache.catalina.core.ApplicationContextlogSEVERE:StandardWrapper.Throwablejava.lang.NoClassDefFound