CSDN問題:
jsp放在webroot目錄下 這樣就可以讓用戶直接訪問,jsp放在web-inf目錄下就必須要通過請求才能訪問。
因此放在web-inf下jsp頁面顯得要安全。
既然這樣 ,那是不是只要是需要通過請求才可以訪問的頁面就一定要放在web-inf目錄下呢
還有放在webroot和放在web-inf目錄下都各有什么明顯的優缺點 。
望大家討論...
1樓:
通過設置過濾器,放在webroot下面的文件也可以實現不能直接訪問。所以說放在哪里就看習慣是什么樣了。
一般項目都是要求隱藏性的,只讓客戶通過請求訪問而不是直接訪問jsp頁面。若放在webroot下面,肯定要加一個過濾器阻止所有對*.jsp的訪問。只要比較的話:
放在webroot下面:優點,程序結構清晰,便於編碼和維護;缺點,要加過濾器。
放在web-inf下面:優點,不用過濾器;缺點,打亂了程序結構,編碼和維護麻煩點。
其實二者沒啥大區別,個人傾向於放在webroot下面
2樓:
放web-inf干嘛,web-inf一般都是用來放不允許用戶訪問到的東西吧,JSP本來就是用於訪問的,感覺像是一個private的interface一樣...,又是讓人調又隱藏...
3樓:
問題是jsp里面內容都是要通過請求才能獲取的 那如果放在webroot下 直接訪問的話 頁面就空空如也了 或者直接報錯
4樓:
一、加個過濾器並不麻煩,而且加上后就可以永遠不用再管了。
二、放在WEB-INF下面,首先從理解上就很別扭,然后WEB-INF下面通常有很多文件,開發過程中從里面尋找一個文件或文件夾是很不方便的。
http://bbs.csdn.net/topics/320097731
為了減少風險,可以把這些頁面文件移到WEB-INF 目錄下。基於Servlet的聲明,WEB-INF不作為Web應用的公共文檔樹的一部分。因此,WEB-INF 目錄下的資源不是為客戶直接服務的。我們仍然可以使用WEB-INF目錄下的JSP頁面來提供視圖給客戶,客戶卻不能直接請求訪問JSP。
JSP存放在 WEB-INF 目錄下更為安全
如果把這些JSP頁面文件移到WEB-INF 目錄下,在調用頁面的時候就必須把"WEB-INF"添加到URL中。
我們知道,實現頁面的跳轉有兩種方式,一種是通過redirect的方式,一種是通過forward的方式。redirect方式的跳轉,系統會在一個新的頁面打開要跳轉的網頁;而forward方式跳轉,系統會在原來的頁面上打開一個要跳轉的網頁。所以放到WEB-INF目錄下的文件是不允許采用redirect方式的跳轉來訪問的
另參考:
把JSP放到WEB-INF后以保護JSP源代碼