java web 的標準目錄結構(zz)

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

注:按照 Java EE 規範的規定,一個典型的Web 應用程序有四個部分: 

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

相關文章
相關標籤/搜索