servlet內部轉發與重定向

學了倆三天的servlet的內部轉發和重定向,今天利用一點時間將servlet的內部轉發和從新向進行一個大概總結,因爲本人也是初學階段,若有不對,望諒解!並但願私信我及早改正,但願能幫到你們。瀏覽器


首先,先將兩者的語法背一下,無論會不會用,先記下語法是沒錯滴!!!
轉發:服務器

httpServletRequest.getRequestDispatcher("資源路徑").forward(httpServletRequest, httpServletResponse);

重定向:ide

httpServletResponse.sendRedirect("/資源路徑");

目的:
兩者都是用來實現頁面跳轉,給客戶端一個響應。spa


區別:
雖然兩者都是用來實現頁面跳轉,給客戶端一個響應。可是其中仍是有很大的差異的,這裏就和你們一塊兒探討下兩者原理及不一樣。code

一:原理

servlet的轉發

1.請求原理圖以下所示:
servlet內部轉發與重定向
2.能夠簡單理解轉發就比如一我的去向A這我的借錢,可是A沒有錢,因此A又跑去找B這我的借錢,而後把借來的錢再借給你了。blog

servlet的重定向

1.請求原理圖以下所示:
servlet內部轉發與重定向
2.能夠簡單理解重定向就比如一我的去向A這我的借錢,可是A沒有錢,這時候A告訴你B有錢,而後你本身去跑B家去找B借錢資源

二:特色

轉發 重定向
轉發是服務器行爲(這是不通過瀏覽器的) 重定向是客戶端行爲。(瀏覽器從新請求)。
轉發是瀏覽器只作了一次訪問請求 )重定向是瀏覽器作了至少兩次的訪問請求的(固然也能夠重定向屢次)。
轉發瀏覽器地址不變 定向瀏覽器地址改變。
轉發兩次跳轉之間傳輸的信息不會丟失,因此能夠經過request進行數據的傳遞 重定向兩次跳轉之間傳輸的信息會丟失(request範圍)
轉發只能將請求轉發給同一個WEB應用中的組件 重定向能夠指向任何的資源,包括當前應用程序中的其餘資源,同一個站點上的其餘應用程序中的資源,其餘站點的資源
相關文章
相關標籤/搜索