關於WEB-INF的訪問
先上圖
說明
WEB-INF裡內容只能由伺服器級別才能訪問,客戶端級別不能訪問。
伺服器級別的例子就是請求轉發
,轉發是由伺服器自己處理,跟客戶端(瀏覽器)無關,所以瀏覽器上的位址列也就不會改變。
客戶端級別的例子就是重定向
,兩次請求,兩次響應。所以位址列會改變。
為什麼設定這種許可權
為了安全。比如圖中success.jsp在WEB-INF目錄下,在頁面中用超連結a標籤或者js的location.href去直接轉向它,會找不到。因為這種是客戶端請求,設定這種許可權就能保證一些檔案的安全。
怎麼讓客戶端級別可以訪問
放在webapp下。
程式碼演示一波
- 看圖可知,login.jsp檔案在wepapp目錄下,也就是專案名下。
login.jsp
<form method="post" action="${pageContext.request.contextPath}/login3.action">
使用者名稱:<input type="text" name="username"><br>
密 碼:<input type="password" name="password"><br>
<input type="submit" value="登入">
</form>
- 輸入資料,提交到對映的處理器
UserController
@RequestMapping("login3.action")
public void login3(User user, HttpSession session, HttpServletRequest request,HttpServletResponse response) throws IOException, ServletException {
if ("jack".equals(user.getUsername())&&"1234".equals(user.getPassword())){
request.getRequestDispatcher("WEB-INF/jsp/success.jsp").forward(request,response);
}else {
response.sendRedirect("WEB-INF/jsp/fail.jsp");
}
}
- 資料匹配正確,會請求轉發。
注意,success.jsp頁面在WEB-INF目錄下,所以請求轉發的路徑引數要加上WEB-INF/jsp。 - 資料匹配不正確,會重定向。
注意,fail.jsp在WEB-INF目錄下,所以該路徑沒寫錯。但是重定向的原理是讓客戶端再次訪問,而WEB-INF目錄下的檔案不能被客戶端訪問,所以會報404-未找到。
有一些標籤,可以訪問到WEB-INF目錄中的檔案
如果符合要求的情況下也可以在jsp中使用,(原理也都是請求轉發)如:
<a href="javascript:<jsp:forward page='WEB-INF/xxxx.jsp'/>"></a>
<jsp:forward page = "/WEB-INF/jsp/test/test.jsp" />
<jsp:include page="WEB-INF/xxx.jsp">
相關文章
- 關於idea使用SpringMVC框架訪問WEB-INF中的檔案出現404報錯IdeaSpringMVC框架Web
- 關於python訪問字典的方法Python
- 對Java Web中WEB-INF目錄的理解以及訪問方法JavaWeb
- 關於 Google 電子表格無法訪問的問題Go
- 關於Mac GitHub訪問不了的解決方案MacGithub
- 關於網站訪問量統計網站
- 關於多執行緒訪問靜態方法的問題執行緒
- 關於jsp拒絕訪問的問題,謝謝大家JS
- 關於docker無法訪問倉庫的映象代理問題Docker
- postgresql關於訪問檢視需要的許可權SQL
- 關於java記憶體訪問重排序的思考Java記憶體排序
- 關於效能測試時線上介面訪問比例的整理的問題
- [ASP.NET]關於DOT NET的IIS配置LocalHost訪問和127.0.0.1訪問的區別ASP.NETlocalhost127.0.0.1
- 關於 RemoteViews 跨程式資源訪問的勘誤REMView
- 關於vue-cli生成的dist 檔案怎麼訪問的問題Vue
- SpringMVC下關於靜態資源訪問SpringMVC
- 關於"在Linux下訪問Windows分割槽"的補充(轉)LinuxWindows
- 關於jsp 呼叫bean 訪問sql-server資料庫問題JSBeanSQLServer資料庫
- 關於WebLogic 訪問Oracle 資料庫(建立連線池)問題WebOracle資料庫
- 恆訊科技講解:關於網站訪問慢的檢測方法網站
- 關於訪問資料庫的使用者名稱和密碼資料庫密碼
- 微課sql最佳化(10)、關於資料訪問方法SQL
- 關於Linux下配置OEM無法透過IE瀏覽器訪問的問題Linux瀏覽器
- 關於SQLServerDriver的問題SQLServer
- 關於 JavaMail 的問題JavaAI
- 關於session的問題Session
- 關於vue專案本地執行以後,輸入本機ip不能訪問的問題Vue
- 資料安全合規需要從基於角色的訪問控制邁向基於屬性的訪問控制
- 關於盒模型相關的問題模型
- C#中有關欄位的訪問控制C#
- 基於角色管理的系統訪問控制
- 有關laravel 上傳圖片訪問404的問題Laravel
- 關於javascript的this指向問題JavaScript
- 關於跨域的問題跨域
- 關於bit code的問題
- 關於序列同步的問題
- 關於IP地址的問題
- 關於TargetServiceFactoryVisitable的疑問