http://blog.csdn.net/bluesnail216/article/details/7744607 css
--yourproject
--src
--java 運行的java源代碼
--test 單元測試的源代碼
--configs 配置文件
--lib 開發須要的lib(裏面一般是運行時不須要的jar)
--build.propertis (ant的)
--build.xml (ant)
--document (項目的設計文檔、數據庫設計文檔等)
--WebRoot
--WEB-INF
--classes
--lib (運行時須要的jar,固然開發確定也須要該lib)
---web.xml
--dist (打成jar、war的存放路徑)
--css
--js
--view (模板文件 。jsp,mv)
--images
html
1. 公開目錄
2. WEB-INF/web.xml 文件,發佈描述符(必選)
3. WEB-INF/classes 目錄,編譯後的Java 類文件(可選)
4. WEB-INF/lib 目錄,Java 類庫文件(*.jar)(可選) java
公開目錄存放全部能夠被用戶的訪問的資源, 包括 .html, .jsp, .gif, .jpg, .css, .js, .swf等等。
WEB-INF 目錄是一個專用區域, 容器不能把此目錄中的內容提供給用戶。這個目錄下的文件只供容器使用, 裏面包含不該該由客戶直接下載的資源, 例如: Servlet(這些組件包括應用程序邏輯以及對其餘資源如數據庫的可能訪問), Web 應用程序中servlet 可直接訪問的其餘任何文件, 在服務器方運行或者使用的資源(如Java 類文件和供servlet 使用的JAR 文件), 由您的應用程序生成的臨時文件, 發佈描述符以及其它任何配置文件。這些資源是專用的, 所以只能由它們本身的Web 應用程序及容器訪問。特別地, JSP/Servlet 程序文件也能經過ServletContext 訪問到這個目錄下的文件, 例如JSP 中能夠經過application.getRealPath(「/WEB-INF/web.xml」) 訪問到發佈描述符文件的路徑。 Web 容器要求在你的應用程序中必須有WEB-INF 目錄。注意: 若是你的Web 應用程序中沒有包含這個目錄, 它可能將沒法工做(這是由於不一樣的服務器對此狀況的處理不甚一致,因此有時候也能工做)。
WEB-INF 中包含着發佈描述符, 一個classes 目錄和一個lib 目錄, 以及其它內容。發佈描述符(deployment descriptors)是J2EE Web 應用程序不可分割的一部分(也就是說是它的最小部分, 必不可缺的一部分)。它們在應用程序發佈以後幫助管理 Web 應用程序的配置。對於 Web 容器而言, 發佈描述符是一個名爲web.xml 的XML 文件, 存儲在Web 應用程序的 /WEB-INF 目錄下。mysql
發佈描述符有多種用途:
• 爲 Servlet 和Web 應用程序提供初始化參數 這使咱們的Web 應用程序中的硬性編寫的代碼的初始化值更少。例如常見的<param-name>, <param-value>標記, 就能夠爲Servlet 提供參數, 這個參數能夠在init() 方法中加載。 Struts 的ActionServlet也是經過這種方式來找到它們須要的配置文件struts-config.xml 的位置, 從而加載並分析它,來初始化Struts 框架用到的各類FromBean, Action, Forward 等。
• Servlet/JSP 定義能夠爲 Web 應用程序中的每一個Servlet 或者預編譯的JSP 網頁提供定義。包括 Servlet/JSP 的名字, Servlet/JSP 的類以及一個可選的描述。
• Servlet/JSP 映射 Web 容器使用這些信息把進入請求映射到servlet 和JSP 網頁。
• MIME 類型因爲每一個 Web 應用程序能夠包含多種內容類型, 所以咱們能夠在發佈描述符中爲每一種類型指定MIME 類型。
• 安全性 咱們可使用發佈描述符來管理應用程序的訪問控制。例如, 能夠指定咱們的Web 應用程序是否須要登陸, 若是須要的話, 應該使用什麼登陸頁面, 以及用戶會做爲什麼種角色。發佈描述符還能夠用來自定義其餘元素, 包括歡迎網頁, 出錯網頁, 會話配置。classes 目錄用於存儲編譯過的servlet 及其它程序類, 例如JavaBean。若是一個程序有打包的JAR 文件(例如一個第三方API 打包成了一個JAR 文件, 如Struts 框架的類庫
struts.jar, MySQL 的數據庫JDBC 驅動程序文件mysql-connector-java-3.1.11-bin.jar 等),那麼它們能夠被複制到lib 目錄中(若是解壓縮這些壓縮包的話, 請將它們複製到classes 目錄中)。 Web 容器使用這兩個目錄來查找servlet 及其餘相關類,也就是說, 容器的類裝入器會自動查看classes 目錄, 以及lib 目錄下的JAR 文件。這就意味着你不須要明確的把這些類和JAR 文件添加到CLASSPATH 中。 Web 容器自動將這兩個目錄中的文件加入Web應用的類路徑中。web