2017-08-08 147 views
0

我們已經從jetty 8遷移到jetty 9,並且在jsp頁面上遇到了多個錯誤,這些jsp頁面像JSP一樣在jetty 8中工作錯誤:包含無效表達式,無法解析異常。由於url路徑上的斜槓加倍,我們還找不到其他一些頁面。他們完全在Jetty 8上工作,但在Jetty 9上工作不正常。有沒有任何列表可以提供從Jetty 8到Jetty 9版本時需要檢查的內容?謝謝。從Jetty 8升級到Jetty 9

回答

0

從Jetty 8升級到Jetty 9是很多主要的升級版本。

提醒:碼頭版本(1995年起)已...

<servlet_support>.<major_version>.<minor_version>

這意味着,從碼頭到8.1.x你9.4.x碼頭有5分大版本發佈(這是在版本跳)

注意到有些事情:

  • JSP引擎從錯誤的Glassfish JSP引擎移動到Apache Jasper JSP。
  • servlet規範改變路徑規範化規則/行爲(內部正常化是允許的,但只以確定特定的web應用分派到,歸一化在所有其他範圍是不允許的)
  • HTTP規格支持從RFC2616(作廢)移動到RFC7230(及其他)
  • 餅乾規格支持更新,以支持RFC6265,以滿足當前瀏覽器的最低要求(第1塊餅乾不再支持)
  • HTTP/0.9的支持下降(和解析器/發電機所有相關的行爲)
  • 增加了HTTP/2支持
  • Lenient UrlEncoded解析窗體的分析行爲。錯誤的表單編碼現在會觸發錯誤400。 (這是一個安全性和數據損壞相關的變化)

的警告/ JSP中的錯誤是從越野車可能(非規範兼容)的JSP使用,或者你的JSP依賴錯誤行爲出現在Glassfish的JSP引擎。

URI/URL中的雙斜槓對servlet規範和許多庫都有意義。在派發(請求/包含/轉發/錯誤/異步)到Servlet /篩選器鏈期間,這不會被過濾掉。規範化確實發生在內部,但僅用於識別用於分派請求的適當上下文路徑(特定webapp)。

只要您正確使用Servlet和JSP規範,就不會有任何問題從Jetty 8.x.x升級到Jetty 9.x.x(數以百萬計的碼頭網站都沒有問題)

相關問題