1.服務器內部轉發有兩個方法:equestDispatcher.forward(),RequestDispatcher.include()
a.forward表示直接轉發,新的servlet會直接處理並用新的response輸出
b.include表示歸並,將結果歸並到當前的response中,自己不會做輸出處理。
c.這兩個方法一般比較常用forward,直接轉發。但在使用responseWrapper,想對輸出結果做統一處理時,就不能直接使用forward。
因為forward會直接輸出。
d.需要注意的坑:
forward只繼承原來的request,使用新的response輸出(大概是不想混淆原來的response)。
include只繼承原來的response(畢竟要歸並到原來的輸出流),使用新的request,這個request會集成原request所有的信息(頭,變量等)。
但在新的request里放的參數不會集成到原request中(原因應該同上,以免做出的改變影響原請求)。
2018.12.15