1.基於不同的功能 JSP 被放置在不同的目錄下
這種方法的問題是這些頁面文件容易被偷看到源代碼,或被直接調用。某些場合下這可能不是個大問題,可是在特定情形中卻可能構成安全隱患。用戶可以繞過Struts的controller直接調用JSP同樣也是個問題。
為了減少風險,可以把這些頁面文件移到WEB-INF 目錄下。基於Servlet的聲明,WEB-INF不作為Web應用的公共文檔樹的一部分。因此,WEB-INF 目錄下的資源不是為客戶直接服務的。我們仍然可以使用WEB-INF目錄下的JSP頁面來提供視圖給客戶,客戶卻不能直接請求訪問JSP。
2. JSP存放在 WEB-INF 目錄下更為安全
如果把這些JSP頁面文件移到WEB-INF 目錄下,在調用頁面的時候就必須把"WEB-INF"添加到URL中。
我們知道,實現頁面的跳轉有兩種方式,一種是通過redirect的方式,一種是通過forward的方式。redirect方式的跳轉,系統會在一個新的頁面打開要跳轉的網頁;而forward方式跳轉,系統會在原來的頁面上打開一個要跳轉的網頁。所以放到WEB-INF目錄下的文件是不允許采用redirect方式的跳轉來訪問的