2016-05-09 9 views
0

webappの管理インターフェースにHTMLフォームがあります。私は入力要素を省略してきたので、これは、大規模なフォームだが、適切なタグは次のようになります。HTMLフォーム提出後にリダイレクトするTomcat 8

<form id="config" action="updateConfig" method="POST"> 
    <input type="submit" value="Save configuration" name="submit1"/> 
... 
... 
</form> 

これはhttp://servername:port/webapp/adminでホストされていると、ボタンをクリックするとhttp://servername:port/webapp/admin/updateConfig にフォームを送信してページを更新してください(つまり、リロードhttp://servername:port/webapp/admin

これは、すべてのブラウザの組み合わせでTomcat 7と完全に機能します。

しかし、Tomcat 8の場合、動作が異なります。 Firefox、Chrome、Safariを使用している場合、フォームの送信は機能しますが、ブラウザはhttp://servername:port/webapp/admin/updateConfigにリダイレクトしようとします。これは以前と同じようにIE/Edgeで動作します

私はTomcat 8のドキュメントを検索しましたが、この動作につながる可能性のある明白な変更は見つかりませんでした。どんな助けでも大歓迎です。

https://github.com/Reading-eScience-Centre/edal-java/issues/54#issuecomment-212529593バグレポートは、リダイレクトがどのように起こっているかの詳細を示しています。

+0

作品

response.sendRedirect("./") 

あなたは何が起こっているかのプロトコルトレースを行うと、その投稿することができますか?あなたのコードはどのように見えますか? –

答えて

0

OK、いくつかの実験の後、私はこれを理解しました。 = 7のTomcat <で

response.sendRedirect("") 

、Tomcatの8で、それは別々に処理されていたのに対し、http://servername:port/webapp/admin(ポストを提出すなわちページ)にリダイレクトした問題は、Webアプリケーションが空白のリダイレクトを送信したということでした。ヘッダーから、Tomcat 7がリダイレクトをインターセプトしていて、明示的に完全なURLを「Location」ヘッダーに挿入していたようですが、Tomcat 8は空の場所を送信します。

ソリューションは、そのためにリダイレクトを変更することでした:Tomcatの7とTomcatの両方で8

関連する問題