Java:StackOverflower在运行不';不存在

Java:StackOverflower在运行不';不存在,java,tomcat,servlets,Java,Tomcat,Servlets,这件事让我很困惑。正常工作,当我尝试将servlet作为项目的一部分运行时,输出日志中会出现无休止的循环错误 03-Jul-2016 18:43:59.464 SEVERE [http-apr-8080-exec-72] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet xyz threw exception java.lang.StackOverflowError a

这件事让我很困惑。正常工作,当我尝试将servlet作为项目的一部分运行时,输出日志中会出现无休止的循环错误

03-Jul-2016 18:43:59.464 SEVERE [http-apr-8080-exec-72] org.apache.catalina.core.ApplicationDispatcher.invoke Servlet.service() for servlet xyz threw exception
 java.lang.StackOverflowError
    at javax.servlet.ServletRequestWrapper.getCharacterEncoding(ServletRequestWrapper.java:96)
还有更多

at org.tuckey.web.filters.urlrewrite.UrlRewriter.decodeRequestString(UrlRewriter.java:142)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.getPathWithinApplication(UrlRewriter.java:104)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.getNewChain(UrlRewriter.java:171)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:90)
    at org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:394)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:721)
    at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:466)
    at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:391)
    at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:318)
    at org.tuckey.web.filters.urlrewrite.NormalRewrittenUrl.doRewrite(NormalRewrittenUrl.java:213)
    at org.tuckey.web.filters.urlrewrite.RuleChain.handleRewrite(RuleChain.java:171)
    at org.tuckey.web.filters.urlrewrite.RuleChain.doRules(RuleChain.java:145)
    at org.tuckey.web.filters.urlrewrite.UrlRewriter.processRequest(UrlRewriter.java:92)
这些错误持续了一段时间。只有当我停止Tomcat跑步时,它们才会停止

奇怪的是,列出的servlet不再存在。在第一次抛出错误之后,我删除了它,然后错误仍然存在。看起来servlet文件xyz在Tomcat中的某个地方卡住了,并且没有更新

有人知道如何调试这样的问题吗?我似乎什么都试过了

IDE:Netbeans 8.0.2

问候,,
迈克尔

好吧,这是我见过的最奇怪的问题。必须重新安装Tomcat才能再次工作。看起来Tomcat的内裤扭动了一下。好吧,那是我花了几个小时。。。调试和重新安装

如果有人知道是什么导致了这样的随机事件,那么我自己和其他将来经历过类似事件的人都会感兴趣

编辑

最后,作为
URLRewriteFilter
urlrewrite.xml
文件的一部分,重写规则对From URL使用正则表达式


提示:请确保在URL末尾添加起始字符
^
和结束字符
$
,并确保URL明显不同。我有一个从
“/abc/123/”
“/xyz/abc/?p=$”
的规则,这会导致重定向循环,Tomcat会进入一个无休止的循环,如果不重新安装,您根本无法退出该循环。from应该是
“^/abc/123/$”
,以确保它不匹配

100%您必须重新安装Tomcat。我花了2个小时调试来找到这个解决方案,我对此印象不深


对于那些想重新安装的人来说,这是一个很好的教程。之后,您必须右键单击项目并解决缺少的Web服务器。

看起来servlet不存在,但一些请求被重定向到它。。Servlet映射?另外,我还想看看tuckey的配置。如果Tomcat变得混乱并且有陈旧的文件,请尝试停止Tomcat,删除
temp
work
文件夹的内容,然后重新启动Tomcat。不要删除那些文件夹,只删除所有内容。