浅谈Eclipse调用Tomcat服务的原理
浅谈Eclipse调用Tomcat服务的原理
转:http://www.thinksaas.cn/group/topic/341645/
转:http://www.173it.cn/Html/?5815.html
首先,在Eclipse中新建一个Hello工程,Workspace的位置在c:eclipseworkspace,所以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%binjavaw.exe -Dcatalina.base=C:eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.coretmp1 "-Dcatalina.home=c:Tomcat 6.0" -Dwtp.deploy=C:eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.coretmp1wtpwebapps "-Djava............."
如果你的windows任务管理器有印象路径(或者其他任务管理工具)你就会看到这行命令行,而此时,任务列表中没有Tomcat.exe这个服务进程,但是你却可以访问Tomcat服务器的hello工程的页面。
此时,打开文件夹:C:eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.coretmp1
你可以看到的是类似Tomcat目录下的结构,在wtpwebapps中就有你所有的工程拷贝(即Workspace目录下的project)。如果你访问http://localhost可能提示你404找不到页面,但是在你的Tomcat下的ROOT里确实有文件,并且现在你用Tomcat的webApps下的站点都无法使用,原因就在于Eclipse更改了(使用参数,临时更改,关闭Eclipse中的Tomcat服务,Tomcat恢复原样)Tomcat的webapp主目录(我想就是-Dcatalina.base=...)
以下用%tmp1%代替C:eclipseworkspace.metadata.pluginsorg.eclipse.wst.server.coretmp1;
用记事本打开%tmp1%confweb.xml(和tomcat文件夹下的结构一样),这是配置虚拟目录的文件,我们可以找到host标签,没什么不同(这里appBase依旧是webapps,但是已经映射到了%tmp1%wtpwebapps了),其实这些文件应该是先从Tomcat的conf文件夹里拷贝到这里,然后根据Eclipse的工程进行了修改,我们看。
在下面就有了两个Context的虚拟目录项;是三个哦。。第一个指定了ROOT(这里面什么文件也没,所以无法访问http://localhost/),和工程没关系,第二个和第三个是我的hello和helloworld工程,看看,都有了docBase和相对url的path了吧。所以在浏览器中才能访问到hello和helloworld的jsp页面。
浅谈Eclipse调用Tomcat服务的原理的更多相关文章
- 浅谈RPC调用
RPC英文全称remote procedure call 翻译成中文的意思就是远程过程调用.RPC的出现其实主要是为了解决分布式系统间的通信透明性的问题. 那什么是分布式系统的通信透明性问题?这个问题 ...
- Eclipse调用Tomcat出错
错误提示:The server cannot be started because one or more of the ports are invalid. Open the server edit ...
- 当eclipse调用tomcat的时候发生了什么?
下午在看<tomcat权威指南>的时候想到了这么一个问题:当我在eclipse里调用本机上的一个tomcat运行一个web项目的时候,都发生了什么? 之前做本科毕设的时候用的是MyEcli ...
- 浅谈WebLogic和Tomcat
J2ee开发主要是浏览器和服务器进行交互的一种结构.逻辑都是在后台进行处理,然后再把结果传输回给浏览器.可以看出服务器在这种架构是非常重要的. 这几天接触到两种Java的web服务器,做项目用的Tom ...
- 浅谈Eclipse的更新、升级和MyEclipse插件的安装方法
用的是如下图所示的eclipse标准版演示: 先谈下eclipse下安装MyEclipse插件的过程: 第一种方法:通过MyEclipse的存档进行离线更新 1,到MyEclipse官网进入下载页面, ...
- 浅谈并发和tomcat线程数
假设Tomcat每到固定一个时间会有一个高峰,峰值的并发达到了3000以上,最后的结果是Tomcat线程池满了,日志看很多请求超过了1s. 服务器性能很好,Tomcat版本是7.0.54,配置如下 & ...
- 浅谈history对象以及路由插件原理
简介 History对象最初设计用来表示窗口的浏览历史,但是,出于隐私方面的原因,History对象不再允许脚本访问已经访问过的实际URL.虽然,我们不清楚历史URL,但是,我们可以通过History ...
- eclipse启动Tomcat服务输入http://localhost:8080/报404解决方法
其实如果Tomcat能够正常启动,而就算输入http://localhost:8080时出现404错误,也不会影响Tomcat作为服务器运行.通过eclipse来启动tomcat会碰到“访问http: ...
- 浅谈SpringCloud (二) Eureka服务发现组件
上面学习到了如何由一个程序访问另一个程序,那么如果使用SpringCloud来进行访问,该如何访问呐? 可以借助Eureka服务发现组件进行访问. 可以借助官方文档:https://spring.io ...
随机推荐
- 【网络结构】GoogLeNet inception-v1:Going deeper with convolutions论文笔记
目录 0. 论文链接 1. 概述 2. inception 3. GoogleNet 参考链接 @ 0. 论文链接 1. 概述 GoogLeNet是谷歌团队提出的一种大体保持计算资源不变的前提下, ...
- Maven的继承和聚合
Maven的继承和聚合子项目的pom文件里通过<parent>节点来继承父项目 <parent> <groupId>com.tykj</groupId> ...
- 如何制作自己的R包?
摘自 方匡南 等编著<R数据分析-方法与案例详解>.电子工业出版社 R包简介 R包提供了一个加载所需代码.数据和文件的集合.R软件自身就包含大约30种不同功能的包,这些基本包提供了R软件的 ...
- python一个元素全为数的列表做差分
woc = [7, 5, 7, 3, 5, 1, 2] diff = [ wo[i]-wo[i+1] for i in range(len(wo)-1) ]
- ng-options 如何实现其中一项option禁选
<select class="form-control" ng-model="functionPaymentMethod" ng-options=&quo ...
- 我的Android学习路线(一)
最近实在是闲的无聊,本着不能让自己的时间白白流失的目的,我就决定完成一下之前的诺言:把 Android 开发学了.正好手头有一本<Android 4编程入门经典>,于是便用两天时间把视图部 ...
- 超好用的ip归属区域查询
源码如下: #!/usr/bin/env python#-*-coding:utf-8-*- import requestsfrom bs4 import BeautifulSoupimport re ...
- 1-12 RHEL7-find命令的使用
1.文件查找findfind命令是在目录结构中,搜索文件,并执行特定的操作find命令提供了相当多的查找条件,功能很强大 2.格式usage:find pathname -options[-print ...
- 二十二 Python分布式爬虫打造搜索引擎Scrapy精讲—scrapy模拟登陆和知乎倒立文字验证码识别
第一步.首先下载,大神者也的倒立文字验证码识别程序 下载地址:https://github.com/muchrooms/zheye 注意:此程序依赖以下模块包 Keras==2.0.1 Pillow= ...
- JTable的应用
最近项目中使用到一个table表格,表格的样子如下: 可以修改数量,以及折扣,对应的最终价会相应的变化. 随手写了份插件,命名为JTable,可以给热爱jquery 的友友们一个参考: 代码如下: / ...