WEB-INF訪問受限問題

    今天開發一個新功能,向項目中添加了一個JSP頁,這個JSP頁在WEB-INF中的一個目錄下。做好之後放到環境上想看看效果如何,但是總是顯示404。求助後才知道,原來WEB-INF這個文件夾是一個受保護的文件夾,不允許客戶端進行直接訪問的。這是因爲基於Servlet的聲明,WEB-INF不作爲Web應用的公共文檔樹的一部分。做了2年多J2EE開發,現在纔剛知道....
 
    百度百科上的介紹是這樣的:
    WEB-INF是Java的WEB應用的安全目錄。所謂安全就是客戶端無法訪問,只有服務端可以訪問的目錄。
    如果想在頁面中直接訪問其中的文件,必須通過web.xml文件對要訪問的文件進行相應映射才能訪問。
    WEB-INF文件夾下除了web.xml外,還存一個classes文件夾,用以放置 *.class文件,這些 *.class文件是網站設計人員編寫的類庫,實現了jsp頁面前臺美工與後臺服務的分離,使得網站的維護非常方便。web.xml文件爲網站部署描述XML文件,對網站的部署非常重要。
    WEB-INF文件夾中除了有classes文件夾和一個web.xml文件外、還有lib文件夾(用於存放需要的jar包)(用於配置,比如說用來配置過濾器等。)
 
    這樣我們在構件項目時,可以把那些限制訪問的資源(比如說jsp源代碼)放到Web應用的WEB-INF目錄下,對於/web-INF/及其子目錄,不允許直接的公共訪問,所以就可以起到保護這些代碼未經授權的訪問和窺視,更好的保護了源代碼。
 
    放到WEB-INF目錄下的文件是不允許採用redirect方式的跳轉來訪問的,只能forward訪問。
發佈了40 篇原創文章 · 獲贊 9 · 訪問量 19萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章