在学习servlet,发现在更改web.xml配置文件时,不知道更改哪个。因为在MyEclipse中的workshop中的项目下有个web.xml。此外,在tomcat的安装目录下有\webapps中同样存在相同的项目文件夹,也有web.xml这个文件。当更改tomcat安装目录下的web.xml的配置时,运行项目后报错,查看此web.xml发现有被改为原来的内容。而更改workshop下的web.xml文件则运行成功,同时tomcat下的该文件也同时被修改。后面在网上看了一篇博客才知道这里涉及到MyEclipse的web部署问题,其中workshop中项目目录下的webroot文件夹都会拷贝到tomcat安装目录下的相对应的位置。

在myeclipse下新建web工程abc。系统设置默认如下:

项目保存位置:workspace目录\abc

Source文件夹:src,保存所有的java类文件(.java文件)和xml文件。

Web root文件夹:WebRoot,保存所有的jsp文件,包括css、javascript等。其中包含的WEB-INF文件夹有很重要的作用!

Context root URL:/abc。 /号指向上一层, /abc指向本目录。

项目文件夹中包含共计6个文件和文件夹:

.myeclipse文件夹

src文件夹

WebRoot文件夹

同级包含的文件:

.classpath文件

.mymetadata文件

.project文件

在myeclipse里部署(deploy)项目

以项目名称abc为例,发布的位置默认为Tomcat安装目录下的webapps目录下abc目录。

一般认为:Tomcat\webapps\abc目录下就是完全拷贝myeclipse\workspace\abc\WebRoot\里面全部内容。

部署的过程就是把myeclipse的WebRoot里面的内容复制到Tomcat的Webapps\abc下,然后重新启动Tomcat。

WebRoot目录里包含index.jsp

用户访问web时输入http://localhost:8080/abc即指向Tomcat\webapps\abc目录下的index.jsp

可以正常访问!

WebRoot的组成:

WebRoot\WEB-INF\classes目录很有意思!

workspace\abc\WebRoot\WEB-INF\classes目录与workspace\abc\src目录一一对应!编译之后的所有.class文件保存在此处,部署也只会对外公开字节码,java类文件仍然保留在开发平台里。

src目录下为java类文件(.java)

classes目录下为字节码文件(.class)

C:\AAAA\i_sales\src和C:\AAAA\i_sales\WebRoot\WEB-INF\classes

里面的结构是一模一样的,文件名完全相同。只是把所有的扩展名.java变为了.class。

总结:

1、WebRoot文件夹是可以对外的成品!拷贝给Tomcat承载即可。

2、src目录里都是重量级的java程序,编译之后会被放入WebRoot。

3、jsp页面、javascript、css直接写在WebRoot里。自行组织一下目录结构,易于分类管理。