2017-08-08 12 views
0

jetty 8からjetty 9に移行しました。JSPエラーのように、jetty 8で動作しているJSPページで複数のエラーが発生しました:無効な式が含まれています。また、他のページのいくつかは、URLパス上にスラッシュが2つあるために見つかりません。彼らは完全にJetty 8に取り組んでいますが、Jetty 9では動作していません。Jetty 8からJetty 9への移行時に何を確認するべきか指針を提供するリストはありますか?ありがとう。Jetty 8からJettyへのアップグレード9

答えて

0

Jetty 8からJetty 9へのアップグレードは、多くのメジャーバージョンのアップグレードです。

注意:桟橋バージョン管理は、(1995年)桟橋のリリース8.1.xから、意味

<servlet_support>.<major_version>.<minor_version>

あなたは桟橋の5つのメジャーバージョンのリリースを持っている9.4.xしてきました...

ノートのいくつかのもの(それはバージョンで大きなジャンプです):

  • JSPエンジンがGlassfish JSPエンジンからApache Jasper JSPに移行しました。
  • サーブレットの仕様変更パスの正規化ルール/動作(内部正規化は許可されていますが、他のすべてのスコープでの正規化は許可されません)
  • HTTP SpecサポートはRFC2616 RFC7230(その他)
  • クッキー仕様のサポートは、現在のブラウザの最小要件を満たすためにRFC6265をサポートするように更新(バージョン1枚のクッキーは、もはやサポートされている)
  • HTTP/0.9のサポートがドロップ(およびパーサ/ジェネレータ内のすべての関連する行動)
  • HTTP/2サポートが追加されました
  • フォームのLenient UrlEncoded解析動作が破棄されました。フォームのエンコードが正しくないと、エラー400が発生します。 (これは、変更を関連するセキュリティやデータ破損した)

JSPで警告/エラーがバギー(非仕様準拠)のJSPの使用状況から可能性があります、またはあなたのJSPはGlassfishのJSPエンジンに存在バギー行動に頼っていること。

URI/URLの二重スラッシュは、サーブレットの仕様や多くのライブラリを意味します。これは、サーブレット/フィルタチェーンへのディスパッチ(リクエスト/インクルード/転送/エラー/非同期)中には除外されません。正規化は内部的に行われますが、リクエストをディスパッチするための適切なコンテキストパス(特定のWebアプリケーション)を識別するためにのみ使用されます。

サーブレットとJSPの仕様を正しく使用する限り、Jetty 8.x.xからJetty 9.x.xにアップグレードする際に問題はありません(何百万ものJetty Webサイトがこれを問題なく実行しています)

関連する問題