Java:StackOverflower在运行不';不存在
这件事让我很困惑。正常工作,当我尝试将servlet作为项目的一部分运行时,输出日志中会出现无休止的循环错误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
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。不要删除那些文件夹,只删除所有内容。