java 根据客户端重定向_Java Web笔记 - 转发与重定向的区别与在FireBug客户端的表现...
1、轉發:
RequestDispatcher的forward(request, response)稱為請求轉發。
request的getRequestDispatcher和getRequestDispatcher的forward方法說明:
請求轉發,保存了ServletRequest中setAttribute的參數,可以使用這種方法傳遞參數:
req.setAttribute("username", "arthinking");
RequestDispatcher rd = req.getRequestDispatcher("message.jsp");
rd.forward(req, resp);
在同一個請求里面,可以使用getParameter方法獲取setAttribute方法設置的參數。
轉發實際上是屬于請求對象的方法,并沒有重新生成客戶端的訪問請求,沒有生成新的ServletRequest對象,所以數據依然保持著。
在FireBug中,轉發動作是不會被記錄的,因為是在服務器端發生的。
2、重定向:
HttpServletResponse對象的sendRedirect(String location)方法稱為重定向。
resp.sendRedirect("");
重定向表示服務器使用HttpServletResponse的sendRedirect方法告訴客戶端本次訪問結束,并提供下次訪問服務器的URI,重新訪問服務器,生成新的ServletRequest,所以之前保存的信息會丟失掉。
在FireBug中,重定向客戶端會發發送兩個請求,第一個請求的狀態為:302 Moved Temporarily,重定向的最后一次請求為GET url 200OK。
3、請求轉發與重定向的區別:
請求轉發的整個過程處于同一個請求當中。
重定向實際上客戶端會向服務器端發送兩個請求。
總結
以上是生活随笔為你收集整理的java 根据客户端重定向_Java Web笔记 - 转发与重定向的区别与在FireBug客户端的表现...的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 苹果路由器来了-苹果路由器如何设置
- 下一篇: 两个路由器无线桥接怎么设置-如何让两个路
