總結歸納要點:
1、內部跳轉的時候實際上是通過服務器端將請求轉發到另外的頁面或者servlet中,這個時候跳轉到的目標頁面或者servlet可以獲取到請求對象, 也可以獲取到請求中的屬性和參數。而外部跳轉的時候實際上是第一次請求后,服務器端向客戶端發送了一個指令,讓客戶端再次請求了一次服務器端,這個時候服 務器第二次拿到的request對象已經不是第一次請求的request對象了,所以無法獲取到第一次請求里的參數和屬性。
2、內部跳轉的url地址欄不會發生變化,外部跳轉url則會發生變化。
3、內部跳轉無法跳轉到工程以外的jsp或者servlet,外部跳轉則可以。
4、內部跳轉實現的方法:
- request.getRequestDispatcher("XXX.jsp或者servlet").forward(request, response),
- request.getRequestDispatcher("XXX.jsp或者servlet").forward(request, response),
而外部跳轉實現的方法:
- response.sendRedirect("XXX.jsp或者servlet")。