Eclipse里如何配制项目在tomcat中启动
首先,在Eclipse中新建一个Hello工程,Workspace的位置在c:/eclipse/workspace,所以hello工程的位置就是在%Workspace%/hello/这个文件夹中。  
 
     然后在hello工程中添加一个hello.jsp或者index.jsp都可以(index.jsp会方便一点),内容随便写点,如在body标签之间中就一个Hello Eclipse and Tomcat6.0!然后Run as中选择“Run on server”,这是就会调用已经配置好的Tomcat服务器(此时把你的Tomcat服务关闭,让Eclipse来调用就可以了,否则会有小小的冲突),这时在浏览器(Eclipse当中的Web Browser)中就有了我们想看到的东西,其中url=http://localhost/hello/(隐含index.jsp)!
Hello Eclipse and Tomcat6.0!
!重点来了,Eclipse这期间干了什么?Tomcat的虚拟目录中,你没有设置Hello,怎么能运行? 
 
 
     1.在MyEclipse的做法(MyEclipse有,Eclipse没有的方法)是:将你的工程拷贝一份到Tomcat目录中的webapps/目录当中(这个目录中,不需设置,tomcat就会把文件夹下当做一个站点,但是webapps/这个目录下的html文件是不会解析的,根目录URL/解析的是ROOT文件夹下的网页文件),这样Tomcat就多了一个站点,自然可以访问。 
 
 
     2.在Eclipse中的做法不太一样,Eclipse调用了JDK中的JAVAw.exe,并且指定了许多参数,如:
%JAVA_HOME%/bin/javaw.exe -Dcatalina.base=C:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1 "-Dcatalina.home=c:/Tomcat 6.0" -Dwtp.deploy=C:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps "-Djava............."
如果你的windows任务管理器有印象路径(或者其他任务管理工具)你就会看到这行命令行,而此时,任务列表中没有Tomcat.exe这个服务进程,但是你却可以访问Tomcat服务器的hello工程的页面。 
 
 
     此时,打开文件夹:C:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1 
 
 
 你可以看到的是类似Tomcat目录下的结构,在wtpwebapps中就有你所有的工程拷贝(即Workspace目录下的project)。如果你访问 http://localhost可能提示你404找不到页面,但是在你的Tomcat下的ROOT里确实有文件,并且
 现在你用Tomcat的 webApps下的站点都无法使用,原因就在于Eclipse更改了(使用参数,临时更改,关闭Eclipse中的Tomcat服务,Tomcat恢复原样)Tomcat的webapp主目录(我想就是-Dcatalina.base=...) 
 
 
     以下用%tmp1%代替C:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1; 
 
 
     用记事本打开%tmp1%/conf/
 server
  .xml(和tomcat文件夹下的结构一样),这是配置虚拟目录的文件,我们可以找到host标签,没什么不同(这里appBase依旧是webapps,但是已经映射到了%tmp1%/wtpwebapps了),其实这些文件应该是先从Tomcat的 conf文件夹里拷贝到这里,然后根据Eclipse的工程进行了修改,我们看。 
 
 
 <Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true" xmlNamespaceAware="false" xmlValidation="false"> 
 
 
     在下面就有了两个Context的虚拟目录项;是三个哦。。第一个指定了ROOT(这里面什么文件也没,所以无法访问http://localhost /),和工程没关系,第二个和第三个是我的hello和helloworld工程,看看,都有了docBase和相对url的path了吧。所以在浏览器中才能访问到hello和helloworld的jsp页面。
<Context docBase="C:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/ROOT" path="" reloadable="false"/>
<Context docBase="C:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/HelloWorld" path="/HelloWorld" reloadable="true" source="org.eclipse.jst.jee.server:HelloWorld"/>
<Context docBase="C:/eclipse/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/hello" path="/hello" reloadable="true" source="org.eclipse.jst.jee.server:hello"/></Host>
Eclipse里如何配制项目在tomcat中启动的更多相关文章
- Eclipse+Maven远程部署项目到Tomcat中
		使用maven的自动部署功能可以很方便的将maven工程自动打包并且部署到远程tomcat服务器,省去一些繁琐的操作,节省大量时间. 我使用的tomcat版本是8.5,tomcat7和tomcat8都 ... 
- maven 项目在 tomcat 中启动报错:Caused by: java.util.zip.ZipException: invalid LOC header (bad signature)
		问题原因: 在下载 maven 依赖包的时候出现某种原因导致下载的依赖包出现损坏,jvm 和 maven 不能正常识别,从而导致出现该问题. 解决办法: 在 maven 仓库中搜索: in-progr ... 
- Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法
		我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ... 
- Red5 1.0.0RC1 集成到tomcat6.0.35中运行&部署新的red5项目到tomcat中
		1.下载red5-war-1.0-RC1.zip 解压之得到 ROOT.war 文件. 2.处理tomcat. 下载apache-tomcat-6.0.35-windows-x86.zip包,解压到你 ... 
- java-----遇到问题------myeclipse----发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误
		情况 myeclipse发布项目到tomcat中lib文件夹没有子项目产生ClassNotFoundException错误. 这种情况一般是 .classpath文件设置的输出路径不对导致的. 1.. ... 
- 【原】Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法
		我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ... 
- web项目引用tomcat中的jar
		web项目引用tomcat中的jar https://blog.csdn.net/zjsdrs/article/details/77868827 如下图所示 
- Intellij IDEA创建的Web项目配置Tomcat并启动Maven项目
		本篇博客讲解IDEA如何配置Tomcat. 大部分是直接上图哦. 点击如图所示的地方,进行添加Tomcat配置页面 弹出页面后,按照如图顺序找到,点击+号 tomcat Service -> L ... 
- windows平台在tomcat中启动cas报错解决
		windows平台在tomcat中启动cas报错: Caused by: java.lang.UnsatisfiedLinkError: Could not load library. Reasons ... 
随机推荐
- 通过IP获取所在城市
			<script type="text/javascript"> var map = new BMap.Map("allmap"); var poin ... 
- 快速定位问题 Request无法获取参数
			比如说最近开发甲修改了iframe标签的src,开发乙在设置src的时候传入了2个参数,通过iframe标签链接到这个页面时,开发乙调试时发现没有拿到任何参数值.然后开发乙百度了一下,发现iframe ... 
- java泛型中的E,K,V,T,U,S
			注释: java 泛型类型使用大写形式,且比较短,这是常见的 在java库中,使用变量 E 表示集合的元素类型 K 和 V 分别表示数据库表数据的键key和值value的类型 T(如果有需要还可以使用 ... 
- Spring Boot项目的Logback配置文件使用yaml格式
			1.普通的Spring项目使用logback默认用properties文件做为配置变量. 2.如果非要用yaml文件,那么可以转成Spring Boot项目,天生无缝结合 3.没办法,如果项目配置文件 ... 
- Backup your Android without root or custom recovery -- adb backup
			ecently discovered a neat new way to back up apps on my Android without having to use Titanium Backu ... 
- Maven学习-使用Nexus搭建Maven私服
			为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找一台有外网权限的机器,搭建nexus私服,然后开发人员连到 ... 
- c#开发地磅称重软件
			2012年时即做过一个地磅称重软件,最近公司又接了一个地磅过磅软件的项目,把遇到的问题总结一下以备后用. 1.接线问题 因为客户方原来单独使用仪表,仪表未有接线和电脑连接,为此颇费周折才做好了接线.接 ... 
- SQLServer2005中的CTE递归查询得到一棵树
			最近研究了一下CTE递归查询,感觉这个CTE递归查询蛮好用的,在网上找到了一个比较好的例子,测试例子如下 use City; go create table Tree ( ID ,) primary ... 
- MVC扩展DataAnnotationsModelMetadataProvider给model属性对应的页面元素添加任意属性和值
			比如,有这样一个类: public class User { public string Name { get; set; } } 当在强类型视图页,显示属性Name对应的i ... 
- Tomcat启动就执行特定方法
			import java.util.Timer; import javax.servlet.ServletContextEvent; import javax.servlet.ServletContex ... 
