前提:环境搭建
Jdk1.6.0+Tomcat6.0+Eclipse Java IDE Helios 3.6.1(3.6.2很卡机,推荐用3.6.1)
安装路径:
C:\Java\Jdk1.6.0
C:\Java\Jre1.6.0
C:\Tomcat 6.0
C:\JavaWork 我的Eclipse的WorkBench工作台
E:\Eclipse\Eclipse.exe Eclipse所在目录
下载Struts2.1.6的完整包,复制commons-fileupload-1.2.1.jar、struts2-core-2.1.6.jar等几个jar包,用于构建Struts2项目
第一种 把项目打包成*.War文件,比如我在Eclipse里,先创建了项目login1,然后复制login1并改名为login2,增加或者修改login2里的类文件后,为了测试下能否实现某功能,就在login2项目上,选择"Export" , 导出为WAR文件,比如命名为login2.War,然后复制这个login2.WAR文件到C:\Tomcat 6.0\webapps下,停止Tomcat服务,重新启动Tomcat服务,login2.war会自动解压出一个文件夹login2,再打开http://127.0.0.1:8080/login2/index.jsp就可以访问了,测试能否实现某功能。这个方法的缺点是,如果需要修改源代码,必须重新打包修改后的war文件,复制到C:\Tomcat 6.0\webapps下并覆盖原来的login2.war,如果需要修改很多次,就需要覆盖很多次,无意义的工作很多,最好是Eclipse里每修改下源代码,重启TOMCAT服务就可以加载新代码测试,怎样实现了,请参看第二种方法。
第二种 要实现的目标就是让ECLIPSE自动部署项目到tomcat的C:\Tomcat 6.0\webapps下,而不是到工作区下的.metadata\.plugins\org.eclipse.wst.server.core\tmp1\wtpwebapps,可以实现,方法很简单。
1--在Eclipse中,默认会把Web项目放到Eclipse的工作空间下的.metadata\.plugins\org.eclipse.wst.server.core\tmp0(或者是tmp1)\wtpwebapps\下
2--在Eclipse中的最底下的Servers视图,将所有部署的项目移除
3--在该服务器上,单击鼠标右键选择“Open”,或在空白处按F3快捷键,或者是双击
4--在“Server Locations”处选择“Use Tomcat installation”,可以清楚的看到默认是“Use Workspace metadata”,即上边所说的目录。然后在Deploy的path处写上webapps即可
5--想要恢复默认,重新选择就,再点击一下set deploy path to the default value 即可
具体实现如下:
新建个Dynamic Web Project,命名为zb4,在WebContent下,新建个文件login.jsp,随便写段代码,比如我的
<%@ page language="java" contentType="text/html; charset=GB18030"
pageEncoding="GB18030"%>
<form action ="" method="post">
用户名:<input type="text" name="username">
密码:<input type="text" name="password">
<input type="submit" value="登陆">
</form>
见图一
运行之后,如上打开,Servers下,已经添加好了一个Tomcat v6.0 Server,在上面点右键,选择open,打开
我们要修改的地方为Server Locations,而此时 的状态为灰色,代表修改不了
关键就是需要修改这里,那么怎么能修改呢?先要移除掉部署在其中的项目,注意是所有的哦
先stop Tomcat服务,再remove 移除zb4这个项目,再次打开
Server Locations 的状态依然为灰色不可修改,启动TOMCAT服务
启动后,再次OPEN
可以修改Server Locations 的配置了。
配置3个地方:
1、选择"Use Tomcat installation ",默认为"Use Workspace metadata "2、选中"Use Tomcat insallation "后,下面一行,Server Path 自动修改为C:\Tomcat 6.0(Tomcat安装路径),这个为C:\Tomcat 6.0就可以的;
3、Deploy Path 处需要修改为"webapps" ,默认为"wtpwebapps"。