一、myeclipse之web项目的部署(发布)流程
在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里。自行组织一下目录结构,易于分类管理。
二、eclipse之web项目的部署
...Tomcat\conf\Catalina\localhost\tracker.xml <Context path="/tracker" reloadable="true" docBase="D:\web\tracker" workDir="D:\web\tracker\work" /> 在...\localhost目录下创建项目路径文件tracker.xml,内空如上. .path中的值"/tracker"与文件名tracker.xml要一致. .docBase是你的页面文件的根目录. .workDir是jsp文件编译成java文件后java文件存放的地址.
三、Eclipse+Tomcat+Ant
1。打开Eclipse,在项目的根路径下建立builds.xml文件。
这个是Ant配置的关键。其内容如下:
-----------------
<?xml version="1.0"?>
<project name="webmodulebuilder" default="deploy" basedir=".">
<!-- set global properties for this build -->
<!-- 发布WEB路径 -->
<property name="DEPLOY_PATH" value="D:/Tomcat 5.0/webapps/dt" />
<!-- 源WEB路径 -->
<property name="WEB_PATH" value="D:/eclipse/workspace/test/dt" />
<!-- 源编译的jar包路径 -->
<property name="JAR_PATH" value="D:/eclipse/workspace/test/dt/WEB-INF/lib" />
<!-- 源java文件路径 -->
<property name="SCR_PATH" value="D:/eclipse/workspace/test/src" />
<!-- 源class文件路径 -->
<property name="CLASS_PATH" value="D:/eclipse/workspace/test/dt/WEB-INF/classes" />
<!-- 定义classpath -->
<path id="LIB_CLASS_PATH">
<fileset file="${JAR_PATH}/*.jar" />
<pathelement path="${CLASS_PATH}"/>
</path>
<!-- 初试化 -->
<target name="init">
<mkdir dir="${DEPLOY_PATH}"/>
<mkdir dir="${DEPLOY_PATH}/WEB-INF"/>
<mkdir dir="${DEPLOY_PATH}/WEB-INF/classes"/>
<mkdir dir="${DEPLOY_PATH}/WEB-INF/lib"/>
</target>
<!-- 编译类 -->
<target name="compile" depends="init" description="compile the source files">
<mkdir dir="${CLASS_PATH}"/>
<javac srcdir="${SCR_PATH}" destdir="${CLASS_PATH}">
<classpath refid="LIB_CLASS_PATH"/>
</javac>
</target>
<!-- Copy发布-->
<target name="deploy" depends="init,compile" >
<copy todir="${DEPLOY_PATH}">
<fileset dir="${WEB_PATH}">
<include name="**/*.*"/>
<exclude name="**/jsp_servlet/*.class"/>
<exclude name="**/build.xml"/>
<exclude name="**/deploy.xml"/>
<exclude name="**/build.properties"/>
<exclude name="**/servers.xml"/>
<exclude name="**/targets.xml"/>
<exclude name="**/*.war"/>
</fileset>
</copy>
</target>
</project>
-----------------
2.右击项目,选择“属性--构建器”。然后单击“新建”。
3.在“选择配置类型”窗口中单击选中“Ant构建”,单击“确定”。
4.配置构建器的属性,填写建器的“名称”。
“主要”页框中的“构建文件”选择刚才配置builds.xml,“基本目录”选择项目的根目录。
“构建选项”中,勾选“在自动构建期间”。
5.点击“确定”,完成配置。
6.在项目属性中的“构建器”中勾选刚刚建立的Ant构建器,取消勾选“Java构建器”。单击“确定”。
7.当系统调试时,Ant会自动编译并发布文件到指定的目录中。爽!