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下面)