【发布时间】:2025-12-13 04:55:02
【问题描述】:
我的 Tomcat 上安装了 3 个应用程序,并且一切正常,导致出现这种混乱。 在开始之前,我需要重新配置我的 tomcat 日志记录,因为这可能无法正常工作,但我觉得我的应用程序无法启动,原因可能是我今天作为第一个计时器实现的过滤器配置错误:
package org.thejarbar.web.filters;
import java.io.*;
import java.util.regex.Pattern;
import javax.servlet.*;
import javax.servlet.http.*;
public final class JSessionFilter implements Filter {
public void init(FilterConfig filterConfigObj) {
}
public void doFilter(ServletRequest _req, ServletResponse _res,
FilterChain chain) throws IOException, ServletException {
HttpServletRequest req = (HttpServletRequest) _req;
HttpServletResponse res = (HttpServletResponse) _res;
String url =req.getRequestURL().toString();
if(Pattern.compile(Pattern.quote("jsessionid"), Pattern.CASE_INSENSITIVE).matcher(url).find()){
String redirectURL = "http://thejarbar.org";
res.setStatus(res.SC_MOVED_PERMANENTLY);
res.setHeader("Location",redirectURL);
res.setHeader( "Connection", "close" );
}
chain.doFilter(req, res);
}
public void destroy() { }
}
在 web.xml 中配置:
<filter>
<filter-name>sessionFilter</filter-name>
<filter-class>org.thejarbar.web.filters.JSessionFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>sessionFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
我怀疑存在内存问题,但不知道为此在我的 Unix 客户机上运行什么命令,并且删除我的主应用程序旁边的最大应用程序并不能解决此问题(这应该会释放足够的资源)。
在我发布的内容中是否有任何可以归咎和纠正的地方? 应用程序:enter link description here 和 enter link description here 似乎已部署但无法访问(如果您尝试)。
在我的开发系统上一切运行顺利。
编辑设法再次获取日志文件:
INFO | jvm 1 | 2012/06/23 01:19:58 | Jun 23, 2012 1:19:58 AM org.apache.catalina.startup.Catalina start
INFO | jvm 1 | 2012/06/23 01:19:58 | SEVERE: Catalina.start:
INFO | jvm 1 | 2012/06/23 01:19:58 | org.apache.catalina.LifecycleException: Failed to start component [StandardServer[8005]]
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.apache.catalina.startup.Catalina.start(Catalina.java:624)
INFO | jvm 1 | 2012/06/23 01:19:58 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2012/06/23 01:19:58 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2012/06/23 01:19:58 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2012/06/23 01:19:58 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:322)
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:450)
INFO | jvm 1 | 2012/06/23 01:19:58 | at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO | jvm 1 | 2012/06/23 01:19:58 | at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO | jvm 1 | 2012/06/23 01:19:58 | at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO | jvm 1 | 2012/06/23 01:19:58 | at java.lang.reflect.Method.invoke(Method.java:597)
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.tanukisoftware.wrapper.WrapperStartStopApp.run(WrapperStartStopApp.java:264)
INFO | jvm 1 | 2012/06/23 01:19:58 | at java.lang.Thread.run(Thread.java:662)
INFO | jvm 1 | 2012/06/23 01:19:58 | Caused by: org.apache.catalina.LifecycleException: Failed to start component [StandardService[Catalina]]
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:154)
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.apache.catalina.core.StandardServer.startInternal(StandardServer.java:727)
INFO | jvm 1 | 2012/06/23 01:19:58 | at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
【问题讨论】:
-
您是否遇到任何错误(或)异常?
-
@thinksteep 不在我的日志中(可能已损坏),因为我把它搞砸了。这些应用程序似乎已部署,因为如果您尝试通过我提供的链接访问它们,您不会得到任何响应/超时。我想我删除了我的 tomcat 日志,并且可能在 2 年前由于精神疾病而错误地修复了它。如何确保设置了 Tomcat 日志?我在日志中有许多按日期划分的日志文件,而今天的日志中没有错误...
-
删除我的过滤器映射允许所有应用程序启动
-
你修改了哪个
web.xml? -
我的主站点的那个
标签: java tomcat web-applications servlet-filters