請求轉發 RequestDispatcher
重定向 Redirect
代碼的執行:
無論是 request.getRequestDispatcher(path).forward(request, response)還是response.sendRedirect,程式都會在執行完該句的情況下繼續向下執行,是以在必要的時候應該使用return終止該方法.
對于 request.getRequestDispatcher(path).forward(request, response),在執行完該方法的時候再進行對request的操作已經沒有任何意義,如果在該方法之後再進行request.setAttribute(),該值将不會被放進目前請求的request中.
response.setRedirect:該方法執行之後,接下來的方法也會被執行.但是使用該方法的時候,會發送一個全新的request,将不再使用原先的request,是以不論在該方法執行之前,還是在該方法執行之後,對request操作,都是無效的.