转自: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下面)

java web目录结构的更多相关文章

  1. Java Web项目结构

    Java Web项目结构(一般) 1.Java src 2.JRE System Library 3.Java EE 6 Libraries 4.Web App Libraries 5.WebRoot ...

  2. Servlet第一篇【介绍Servlet、HTTP协议、WEB目录结构、编写入门Servlet程序、Servlet生命周期】

    什么是Serlvet? Servlet其实就是一个遵循Servlet开发的java类.Serlvet是由服务器调用的,运行在服务器端. 为什么要用到Serlvet? 我们编写java程序想要在网上实现 ...

  3. Java Web目录

    1. Spring持久化 2. Spring核心之IoC——依赖注入 3. Hibernate查询语言 4. Hibernate 实体关联关系映射(转载) 5. 用MyEclipse自动生成hiber ...

  4. Web目录结构

    /: Web应用的跟目录,该目录下所有文件在客户端都可以访问(JSP,HTML) /WEB-INF: 存放应用使用的各种资源.该目录及其子目录对客户端都是不可以访问的, 其中包括web.xml(部署表 ...

  5. Java递归目录结构

    import java.io.File; public class FileTree { public static void main(String[] args) { printFileTree( ...

  6. IntelliJ IDEA 中的Java程序目录结构

    --src 应用程序源代码与测试代码的根目录 --main 应用程序代码的源目录 --java 源代码 --resources 项目用到的资源文件 --test 测试程序代码的源目录 --java 测 ...

  7. IDEA中Java目录结构

    IDEA中Java的目录结构 1.首先新建Project,选择Empty,新建空的项目 2.选择Module时候,需要选择JDK,JDK只需要选择到Java Home目录就可以了 3.创建好Modul ...

  8. 使用 IntelliJ IDEA 2016和Maven创建Java Web项目的详细步骤及相关问题解决办法

    Maven简介 相对于传统的项目,Maven 下管理和构建的项目真的非常好用和简单,所以这里也强调下,尽量使用此类工具进行项目构建, 它可以管理项目的整个生命周期. 可以通过其命令做所有相关的工作,其 ...

  9. 【转】IntelliJ IDEA2016.1 + maven 创建java web 项目

    最近开始使用idea 来写java项目了,这个很流行,相比Eclipse方便了很多.功能多了,相对应的使用的复杂度也较高了,因为网上很多的使用和创建项目的简单教程,都是基于老版本的,每个新版本都有不一 ...

随机推荐

  1. 转。管理Gearman

    通常,Gearman被用来分发任务,以便实现异步操作.下面捋捋如何管理Gearman. 说明:请自行安装好Gearman和PHP PECL Gearman. 准备 我们先来创建一个Worker,实现一 ...

  2. JBoss像tomcat那样创建部署文件,JBoss创建虚拟目录

    jboss可以像tomcat那样,写一个配置文件,指向应用所在的路径,而不用将应用直接复制到deploy下的某一个以.war结尾的文件夹下吗? 答:好像是不能直接操作,但是可以通过变通的方式来搞定.在 ...

  3. shell学习记录002-知识点储备

    1.echo "4*0.33" |bc    #计算机功能的运用 [root@oc3408554812 shell]# ss=22; [root@oc3408554812 shel ...

  4. 部分SIM卡被曝存安全漏洞:7.5亿部手机受牵连

    7月22日消息,据国外媒体报道,一安全研究人员发现部分移动SIM卡所使用的加密方式存在一个安全漏洞,可能会导致手机被黑客远程控制. DES数据加密标准的SIM卡——DES是一种较旧的标准,目前正被部分 ...

  5. 二模 (2) day2

    第一题: 题目描述: 在一个长方形框子里,最多有 N(0≤N≤6)个相异的点.在其中任何-个点上放一个很小的油滴,那么这个油滴会一直扩展,直到接触到其他油滴或者框子的边界.必须等一个油滴扩展完毕才能放 ...

  6. 为ASP.NET MVC应用添加自定义路由

    这里,我们将学习如何给asp.net mvc应用添加自定义路由.用自定义路由来修改默认路由表. 对一些简单的asp.net mvc应用,默认的路由表就已经足够了.但是,当你需要创建特殊的路由时,就需要 ...

  7. ByteArray

    ByteArray:属性endian:String == Endian.BIG_ENDIAN/Endian.LITTLE_ENDIAN.length:uint ByteArray的字节数positio ...

  8. <转>thinkphp的各种内部函数 D()、F()、S()、C()、L()、A()、I()详解

    D.F.S.C.L.A.I 他们都在functions.php这个文件家下面我分别说明一下他们的功能 D() 加载Model类M() 加载Model类 A() 加载Action类L() 获取语言定义C ...

  9. poj1837 dp

    //Accepted 2176 KB 47 ms //杠杆平横的条件:sum(c[i]*sum(g[j]))=0 // 所有的hook到原点的距离乘它上面挂着的物体的重量和的和为0 //对于一个hoo ...

  10. 配置navigation bar外观

    /* 配置navigation bar外观开始 */ self.navigationBar.translucent = YES; self.navigationBar.titleTextAttribu ...