WEB-INF這個目錄由于受到servlet的保護,是以不能從浏覽器輸入url直接通路資源。
通路方式
1.jsp頁面中,用<jsp:forward page="WEB-INF/**.jsp"></jsp:forward>
2.jsp中,用 <% request.getRequestDispatcher("WEB-INF/**.jsp").forward(request,response);%>
3.通過架構控制跳轉,略。
4.對于html頁面,由于是靜态頁面,不是servlet是以通過上面的1.2方式是跳不過去的。要手動在web.xml中指定servlet mapping 如:
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.jsp</url-pattern>
</servlet-mapping>
然後在它下面添加
</servlet-mapping>
<servlet-mapping>
<servlet-name>jsp</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
附:forward 與redirect 跳轉的差別 (後前台跳轉差別):
其一、forward(requestForForward)可以把index.jsp中的問号以及表單中的參數傳到forward的目标頁面(redirectOrForward.jsp),但是redirect不行;
其二、forward的時候,請求的位址(點選requestForForward.jsp 中連結URL)就是最終顯示在浏覽器位址欄中的URL,而redirect時,請求的位址與最終顯示在浏覽器位址欄中的URL一般不一樣,而且後者以redirect時的參數(位址)為準。
基于以上做一個簡單的分析或者說推測:
1、forward是你所請求的URL所在伺服器,把你的請求封裝成流傳給forward到的目标頁面(其中含有以及基本資訊以及參數等),而redirect相當于你首先向你所請求的URL申請,然後此URL給你一個新的URL,你再向此新URL再來一次新的請求,是以浏覽器位址欄會變,而且接受不到原先傳的參數(index.jsp中傳的)
轉載于:https://www.cnblogs.com/wgjcn/archive/2009/10/22/1587890.html