WEB-INF
/WEB-INF/web.xml
你的Web應用程序配置文件,這是一個XML文件,其中描述了 servlet 和其他的應用組件配置及命名規則;
/WEB- INF/classes/
這個目錄包含了站點所有用的 class 文件,包括 servlet class 和非servlet class,他們不能包含在 .jar文件中。
站點的類的存放規則應該按照Java的打包規則執行。例如: 有一個類命名為 com.mycompany.mypackage.MyServlet, 你應該按照以下形式部署: /WEB-INF/classes/com /mycompany/mypackage/MyServlet.class ;
按照包名結構放置各個類(JavaBean 和 Servlet)
/WEB- INF/lib/
存放web應用需要的各種JAR文件,放置僅在這個應用中要求使用的jar文件,如數據庫驅動jar文件
/WEB- INF/src/
src=source 源碼目錄,按照包名結構放置各個java文件
/WEB- INF/database.properties
數據庫配置文件
# database.properties
jdbc.drivers = com.mysql.jdbc.Driver
jdbc.url = jdbc:mysql://localhost/ams2
jdbc.username = root
jdbc.password = sh2007ai
# table define
ams2.table.dialogue = content_dialogue
ams2.table.expansion = content_expansion_sentence
ams2.table.vocabulary = content_vocabulary
/WEB-INF/tags/
標簽文件庫,存放了客戶定義的標簽文件,該目錄並不一定為 tags,用戶可以根據自己的喜好和習慣為自己的標簽文件庫命名,當使用了用戶定義的標簽文件庫名稱時,在用戶使用標簽文件時就必須聲明正確的標簽文件庫路徑。例如:當自定義標簽文件庫名稱為 simpleTags 時,在使用 simpleTags 目錄下的標簽文件時,就必須在 jsp 文件頭聲明為:<%@ taglib prefix="tags" tagdir="/WEB-INF /simpleTags" % >;
/WEB-INF/jsp/
Jsp 1.2 以下版本的文件存放位置。改目錄沒有特定的聲明,同樣,用戶可以根據自己的喜好與習慣來命名。此目錄主要存放的是 Jsp 1.2 以下版本的文件,為區分 Jsp 2.0 文件,通常使用 jsp 命名,當然你也可以命名為 jspOldEdition ;
/WEB-INF/jsp2/
與 jsp 文件目錄相比,該目錄下主要存放 Jsp 2.0 以下版本的文件,當然,它也是可以任意命名的,同樣為區別 Jsp 1.2 以下版本的文件目錄,通常才命名為 jsp2。
META-INF
相當於一個信息包,目錄中的文件和目錄獲得Java 2平台的認可與解釋,用來配置應用程序、擴展程序、類加載器和服務
manifest.mf文件,在用jar打包時自動生成
META-INF有什么用?它跟WEB-INF有什么區別?
META-INF 存在程序入口相關信息, 每個jar 都會有這個文件夾,里面的 MANIFEST文件 記錄這些信息WEB-INF 使用web 項目才會有這個文件夾,普通的 j2se項目 是沒有這個文件夾的 我們把MANIFEST中的配置信息進行分類,可以歸納出下面幾個大類: 一. 一般屬性 1. Manifest-Version 用來定義manifest文件的版本,例如:Manifest-Version: 1.0 2. Created-By 聲明該文件的生成者,一般該屬性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1 3. Signature-Version 定義jar文件的簽名版本 4. Class-Path 應用程序或者類裝載器使用該值來構建內部的類搜索路徑 二. 應用程序相關屬性 1. Main-Class 定義jar文件的入口類,該類必須是一個可執行的類,一旦定義了該屬性即可通過 java -jar x.jar來運行該jar文件。 三. 小程序(Applet)相關屬性 1. Extendsion-List 該屬性指定了小程序需要的擴展信息列表,列表中的每個名字對應以下的屬性 2. <extension>-Extension-Name 3. <extension>-Specification-Version 4. <extension>-Implementation-Version 5. <extension>-Implementation-Vendor-Id 5. <extension>-Implementation-URL 四. 擴展標識屬性 1. Extension-Name 該屬性定義了jar文件的標識,例如Extension-Name: Struts Framework 五. 包擴展屬性 1. Implementation-Title 定義了擴展實現的標題 2. Implementation-Version 定義擴展實現的版本 3. Implementation-Vendor 定義擴展實現的組織 4. Implementation-Vendor-Id 定義擴展實現的組織的標識 5. Implementation-URL : 定義該擴展包的下載地址(URL) 6. Specification-Title 定義擴展規范的標題 7. Specification-Version 定義擴展規范的版本 8. Specification-Vendor 聲明了維護該規范的組織 9. Sealed 定義jar文件是否封存,值可以是true或者false (這點我還不是很理解) 六. 簽名相關屬性 簽名方面的屬性我們可以來參照JavaMail所提供的mail.jar中的一段 Name: javax/mail/Address.class Digest-Algorithms: SHA MD5 SHA-Digest: AjR7RqnN//cdYGouxbd06mSVfI4= MD5-Digest: ZnTIQ2aQAtSNIOWXI1pQpw== 這段內容定義類簽名的類名、計算摘要的算法名以及對應的摘要內容(使用BASE64方法進行編碼)