java web目录结构

转自:http://blog.csdn.net/javaloveiphone/article/details/7828894

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

posted on 2015-09-29 15:57  是知也  阅读(5103)  评论(0编辑  收藏  举报

导航