天天看點

javaweb項目源檔案與位元組碼檔案目錄結構Javaweb項目的源檔案與位元組碼檔案的目錄結構

Javaweb項目的源檔案與位元組碼檔案的目錄結構

1、建立項目的源檔案目錄結構:

|----myProject

|----.settings(檔案夾)

       |----.classpath

       |----.project

       |----.mymetadata

       |----src

       |----WebRoot

              |----其他靜态檔案:HTML、CSS、JavaScript、圖檔、jsp頁面等

              |----index.jsp:頁面可以直接放在根目錄下

              |----META-INF

              |----WEB-INF

                     |---- classes根目錄:存放位元組碼檔案

                     |----lib目錄:存放第三方類庫檔案

                     |-- --web.xml:Web應用部署描述檔案,必須目錄

                     |----TLD檔案:标簽庫描述檔案

相應的解釋:

1、1、.settings檔案夾:裡面存放各種插件的配置檔案。

1、2、.classpath:定義了項目在編譯時所使用的$CLASSPATH,就是配置整個工程運作環境

       <?xml version="1.0" encoding="UTF-8"?>

<classpath>

       <classpathentry kind="src" path="src"/>

       <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

       <classpathentry kind="lib" path="lib/dom4j-1.6.1.jar">

<classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/>

       <classpathentry kind="output" path="WebRoot/WEB-INF/classes"/>

</classpath>

從資料上我們容易看出,上面描述了工程的依賴檔案:

1.  源檔案的具體位置(kind="src")

2.  運作的系統環境,JDK運作時容器(kind="con")

3.  工程的library的具體位置資訊(kind="lib")

4.  在每個lib的xml子節點中,有關于它的其它配置資訊(例如我配置的那個"javadoc_location")

5.  項目位元組碼檔案的輸出目錄(kind="output")

1、3、.mymetadata:描述項目在myeclipse的配置資訊

<?xml version="1.0" encoding="UTF-8"?>

<project-module

  type="WEB"                 工程類型

  name="myProject"             工程名稱

  id="myeclipse.1343985658390"  工程在工作空間内的唯一辨別

  context-root="/myProject"       請求的根路徑

  j2ee-spec="1.4"                J2EE标準

  archive="myProject.war">       打包後war檔案

  <attributes>

    <attribute name="webrootdir" value="WebRoot" />      Web根目錄名稱

  </attributes>

</project-module>

1、4、.project:描述工程資訊

<?xml version="1.0" encoding="UTF-8"?>

<projectDescription>

       <!-- 工程名稱 <name>-->

       <name>myProject</name>

       <!--工程注釋描述-->

       <comment></comment>

       <projects>

       </projects>

       <!-- 編譯器指定 <buildSpec>:具體加載方式資訊-->

       <buildSpec>

              <buildCommand>

                     <name>com.genuitec.eclipse.j2eedt.core.WebClasspathBuilder</name>

                     <arguments>

                     </arguments>

              </buildCommand>

              <buildCommand>

                     <name>org.eclipse.jdt.core.javabuilder</name>

                     <arguments>

                     </arguments>

              </buildCommand>

              <buildCommand>

                     <name>com.genuitec.eclipse.j2eedt.core.J2EEProjectValidator</name>

                     <arguments>

                     </arguments>

              </buildCommand>

              <buildCommand>

                     <name>com.genuitec.eclipse.j2eedt.core.DeploymentDescriptorValidator</name>

                     <arguments>

                     </arguments>

              </buildCommand>

              <buildCommand>

                     <name>org.eclipse.wst.validation.validationbuilder</name>

                     <arguments>

                     </arguments>

              </buildCommand>

       </buildSpec>

       <!-- 核心特性 <natures> :運作時需要的額外Eclipse插件-->

       <natures>

              <nature>com.genuitec.eclipse.j2eedt.core.webnature</nature>

              <nature>org.eclipse.jdt.core.javanature</nature>

       </natures>

</projectDescription>

2、項目的位元組碼檔案目錄結構:

|----myProject

              |----其他靜态檔案:HTML、CSS、JavaScript、圖檔、jsp頁面等

              |----index.jsp:頁面可以直接放在根目錄下

              |----META-INF

              |----WEB-INF

                     |---- classes根目錄:存放位元組碼檔案

                     |----lib目錄:存放第三方類庫檔案

                     |-- --web.xml:Web應用部署描述檔案,必須目錄

                     |----TLD檔案:标簽庫描述檔案

3、總結:

       通過上面兩個目錄結構的解釋,當項目被編譯之後,已經沒有了src和WebRoot檔案路徑,是以當在配置檔案中加載某個檔案時:

<param-value>/WEB-INF/struts-config.xml</param-value>

<param-value>resource/struts/struts-config.xml</param-value>(resource在源檔案src下面)

繼續閱讀