关于Tomcat和Eclipse的一个小事
原谅我懒得排版,重要的是内容(每次都这样安慰自己)
先放一张霉霉图片冷静一下
额,最近电脑装了个固态硬盘,有个还没做完的项目,需要下载EclipseEE和Tomcat跑程序,重新下了EclipseEE和Tomcat后,也在EclipseEE里设置了Tomcat的相关属性,但很奇怪的是在Eclipse里启动了Tomcat后,都没问题,都正常启动了,但访问8080页面却是404 not found??? 但如果是在Tomcat下的bin文件下启动,访问8080页面却是没问题。为此我想了好几个方面。。。
(1)很尴尬,我以为是EclipseEE的问题,重新装了一遍。 -----没用
(2)我又换了Tomcat版本的-----也不行。
(3)就很奇怪,去网上搜索了一些,比如
http://blog.csdn.net/xw13106209/article/details/6907236
http://blog.csdn.net/pk490525/article/details/7968213
全都是叫我把Eclipse的server的项目发布目录改到Tomcat下。。试了一下 是可以的 。但是很疑惑为什么以前没这么做也能发布项目,
思考ing。。。。
(4)经历了三个小时的折腾,网上找不到相关的说明,全都是清一色的叫我改server的配置,我感觉这样我以后没新建一个tomcat不就很烦。。。要知道程序员是最懒的。。
后来我仔细捋了捋Eclipse里面Tomcat发布的逻辑后终于想通了,同志们!!!
在Eclipse里面新建Tomcat的server,发布项目的时候是把项目发布到Eclipse的工程目录下的一个.metadata,我可以称这个为临时的Tomcat发布器。。而网上教我们改的就是把原来Eclipse默认发布在这里的工程发布到Tomcat的webapps下,这样就很奇怪,你每写一个javaEE工程就要发布到Tomcat的实际目录下,是很不科学的。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------、
华丽的分割线
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
用过Tomcat的都知道webapps下面存放的是要发布的工程,只要你下载了Tomcat里面会有自带的几个文件夹,没错!!!想到了吧。8080那个页面就是在这几个文件夹中的某一个,所以每次你从外部启动Tomcat的时候,访问根目录的localhost:8080/的时候,定位到的是webapps,webapps下会有工程拦截后定位到8080那个页面,而我们配置的Eclipse中的Tomcat,启动时去访问的是.metadata中那个临时的发布器,而这个发布器是Eclipse创建的,根本没有工程去拦截8080页面!!!所以无论你怎么访问是找不到8080!!
所以,我敢断定只要你Eclipse,Tomcat是全新的,Tomcat正常启动访问不到8080是正常的!!因为你根本就没有项目去拦截localhost:8080/这个请求!!
是不是感觉这个很坑!!原理原来是这么简单。。
网上解决办法是可以的,但是他们没找到这个问题的本质所在(也许有人找到了,但我没搜索到。)。
记住这个坑!!!
写在这里让大家能看到。
PS:我认为问题还是要找到原因比较好,解决办法是因为原因产生的,
BY THE WAY :记住一款还不错的数据恢复软件miniTool。这两天恢复数据快疯了。。虽然只能2G,但是免费的,良心。。
最后用我以前看到一个博客的一句话结尾:可以看出,使用方式越来越简单,程序员越来越傻,不知道是好事,还是坏事。。。