2016-07-03 4 views
1

これは私を困惑させています。通常どおりに作業して、プロジェクトの一環としてサーブレットを試して実行すると、出力ログに無限ループエラーが発生します。Java:存在しないサーブレット用の実行中のStackOverflowError

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の実行を止めるときにだけ止まります。

不思議なことに、リストされているサーブレットが存在しなくなりました。エラーが最初にスローされた後、私はそれを削除し、それでもエラーが存在します。サーブレットファイルxyzがTomcatのどこかに詰まっていて、更新されていないようです。

誰もがこのような問題をデバッグする方法はありますか?私はすべてを試したようだ。

IDE:Netbeansの8.0.2

よろしく、 マイケル

+1

サーブレットが存在しないようですが、要求の一部がリダイレクトされているようです。サーブレットマッピング?また、私はtuckeyの設定を見ています。 –

答えて

0

[OK]を、これは私が今まで見た中で奇妙な問題です。 Tomcatを再インストールして、これを再び動作させる必要がありました。 Tomcatがひねりをこらえているように見える。まあ、それはよく時間を費やしていた...デバッグと再インストール

誰かがこのようなランダムなものの原因を知っているなら、自分自身のために知ることは興味深いだろうし、未来。

編集 最後に、URLRewriteFilterのurlrewrite.xmlファイルの一部としての書き換えルールは、From URLに正規表現を使用します。ヒント、URLの末尾に開始^と終了$文字を追加し、URLが大きく異なることを確認してください。 "/ abc/123 /"から "/ xyz/abc /?p = $"へのリダイレクトループの原因となるルールがあり、Tomcatは無限ループに陥り、再インストールすることはできません。 fromが "^/abc/123/$"になっていて、一致していないはずです。

関連する問題