web專案下的WEB-INF、WebRoot
阿新 • • 發佈:2019-02-19
前言
今天,我們就談談web工程的WEB-INF目錄,你對它的認識又有多少,為什麼今天,要說這個,原因是我在做struts的檔案上傳的問題,我把圖片存放到了WEB-INF這個目錄,結果痛苦的事就出現了,客戶端怎麼也沒有辦法去訪問該圖片。
WEB-INF簡介
WEB-INF是Java的WEB應用的安全目錄。所謂安全就是客戶端無法訪問,只有服務端可以訪問的目錄。如果想在頁面中直接訪問其中的檔案,必須通過web.xml檔案對要訪問的檔案進行相應對映才能訪問。
WEB-INF存放的檔案類別
- /WEB-INF/web.xml Web應用程式配置檔案,描述了 servlet 和其他的應用元件配置及命名規則。
- /WEB-INF/classes/包含了站點所有用的 class 檔案,包括 servlet class 和非servlet class,他們不能包含在 .jar檔案中(是該目錄不能包含在.jar檔案中)。
- /WEB-INF/lib/存放web應用需要的各種JAR檔案,放置僅在這個應用中要求使用的jar檔案,如資料庫驅動jar檔案。
- /WEB-INF/src/原始碼目錄,按照包名結構放置各個java檔案。
- /WEB-INF/database.properties資料庫配置檔案
- /WEB-INF/tags/ 存放了自定義標籤檔案,該目錄並不一定為
tags,可以根據自己的喜好和習慣為自己的標籤檔案庫命名,當使用自定義的標籤檔案庫名稱時,在使用標籤檔案時就必須宣告正確的標籤檔案庫路徑。例如:當自定義標籤檔案庫名稱為
simpleTags 時,在使用 simpleTags 目錄下的標籤檔案時,就必須在 jsp 檔案頭宣告為:<%@taglibprefix=”tags” tagdir=”/WEB-INF /simpleTags” % >。
WebRoot
該目錄才是你web工程的核心目錄,也就是根目錄。
熟悉web開發的小夥伴
http://localhost:9999/ValidateTest/upload
upload前面的/就是代表這裡的根目錄
今天的內容雖然簡單,但是你能夠理解,對呢也是有很大的幫助
有了以上兩點,回到最初前言的問題:
<img src="./uploadFiles/logo.jpg"/>
<img src="<s:property value="'uploadFiles/'+uploadFileName"/>"/>//struts的property的預設當前路徑