假設我正在運行一個JSP/Servlet驅動的網站。用戶將數據POST到根目錄,並且我有一個處理路徑/
的servlet(Index.java
)。我想要這個servlet要做的是查看請求中的一些數據,並確定哪一個servlet應該處理它。當它決定哪個第二級servlet處理該請求時,它會將該請求發送到該第二級servlet。Tree of RequestDispatcher.forward()
現在我的問題是,如果需要第三個級別的servlet會發生什麼?第二級servlet不能到第三級,因爲調度員聲稱響應已經提交。
視覺:
Index.java
+SecondLevelA.java
+SecondLevelB.java
\SecondLevelC.java
\ThirdLevelC.java
的SecondLevelC.java
不能轉移到第三級。我也無法重定向,因爲我將在重定向中丟失POST參數。 POST是必需的,因爲GET查詢的數據太大。
考慮完全重構你的架構。 MVC方法可能會更好。 –
請求調度不受「等級」或轉發次數的限制。如果提交的是響應,則代碼中的其他內容會導致該問題。 – helderdarocha