web-inf存放jsp的注意事項

 web-inf目錄是不對外開放的,外部沒辦法直接訪問到。所有隻能通過映射來訪問,比如映射爲一個action或者servlet通過服務器端跳轉來訪問到具體的頁面。這樣可以限制訪問,提高安全性。

        

        1、把頁面資源文件只能放在webroot下面,如 CSS,JS,image等.放在WEB-INF下引用不了。

 

        2、只能用轉向方式來訪問WEB-INF目錄下的JSP,不用採用重定向的方式請求該目錄裏面的任何資源。

 

        3、WEB-INF目錄下文件訪問資源文件時,可以忽略WEB-INF這一層目錄.如index.jsp 要用css目錄裏的一個css文件.    <link rel="stylesheet" type="text/css" href="css/**.css" />這樣就行了,從客戶端的地址可以看出來服務器轉向index.jsp就是在webroot下面.所以index.jsp和css目錄可以講是同一級目錄。

        4、WEB-INF目錄下的文件之間如何訪問呢.如在main.jsp用<a href="oa.do">測試OA的路徑</a>訪問。如果main.jsp有很多處鏈接到WEB-INF目錄下的其它頁面.那就得有10個轉向Action。這個可以用DispatchAction類加參數專門處理轉向工作。

 

注: 轉向方式: 如struts-config文件中配置<forward name="success" path="/WEB-INF/main.jsp" />      

或在Action中寫request.getRequestDispatcher("/WEB-INF/main.jsp").forward(request, response); 

都是服務器讀取了該頁面內容,併發送到客戶端.客戶端的地址不變.內容跳轉了


    重定向方式: 如struts-config文件中配置<forward name="success" path="/WEB-INF/main.jsp" redirect="true"/>

或在action中response.sendRedirect("/error.jsp");                    

重定向的含義就是服務器把地址發給客戶端,讓客戶端去訪問.這種辦法顯然針對WEB-INF目錄是無用功.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章