請求的轉發和重定向

請求的轉發和重定向:web

本質區別:請求的轉發只發出了一次請求,而重定向則發出了兩次請求。瀏覽器

何時用轉發?何時重定向?jsp

若目標的響應頁面不須要從request中獲取任何數據,則能夠使用請求的重定向(能夠防止表單重複提交,後面再詳細討論),反之只能使用請求的轉發。spa

具體:code

①、請求的轉發地址欄是初次發出請求的地址;而重定向地址欄再也不是初次發出的請求地址,地址欄爲最後響應的那個地址。xml

②、請求的轉發在最終的servlet中,request對象和中轉的那個request是同一個對象;請求的重定向在最終的Servlet中,request對象和中轉的那個request不是同一個對象。對象

③、請求的轉發,只能轉發給當前WEB應用的資源;重定向能夠重定向到任何資源。資源

④、請求的轉發」/「表明的是當前WEB應用的根目錄;對於重定向表明的是當前WEB站點的根目錄。
 servlet


如何使客戶不能直接訪問某一個頁面?io

一、對於Tomcat來講,WEB-INF下的文件是不能經過瀏覽器輸入Url直接訪問的,但經過請求的轉發是能夠的,能夠把error.jsp放在WEB-INF下,而後再errorPage=」/WEB-INF/error.page「,原理是請求的轉發。

 

二、在web.xml中配置error-page,<error-page>
        <error-code>500</error-code>
        <location>/WEB-INF/error.jsp</location>
    </error-page>

這樣就不用在頁面指定errorPage,能夠用於每一個jsp頁面。

<%@ page isELIgnored="true"%>:指定頁面是否能夠使用EL表達式,默認爲true。

相關文章
相關標籤/搜索