先说解决办法,有兴趣的可以看看下面的内容。
解决办法:取消顾虑,目前个人认为这个问题不需要解决(运行项目正常,没发现什么问题)。
大家安装完tomcat之后都会先测试下访问localhost:8080是不是能出现正常页面来判断tomcat是否安装成功。相信大家在整合tomcat到Eclipse的时候都已经测试过了tomcat是可以访问localhost:8080的,但是整合(教程网上很多)完之后,在Eclipse下新建一个Tomcat XX Server at localhost ,然后启动tomcat,在浏览器上访问localhost:8080发现出现404错误。然后就茫然了,为什么我直接启动tomcat能正常访问,而在Eclipse上启动却出现问题?
原因: 因为Eclipse是调用tomcat的接口启动服务(面向接口编程的思想)并不是直接启动tomcat安装目录那个服务(就是tomcat默认的服务),所以我们在eclipse下面启动tomcat的时候,eclipse创建了一个独立的servers,这个servers下面没有任何项目(不像tomcat会默认在webapps放几个项目),所以在Eclipse中启动tomcat服务的时候,只是启动tomcat创建的一个新的服务,里面没有文件所以访问是404错误(一开始就想到了这肯定说明tomcat成功启动了,但是网上搜索一下发现大家都在下载什么tcnative-1.dll去试图解决这个”错误“,而且有很多成功案例,弄得我也觉得这就是致命错误似得,于是各种tcnative-1.dll下载,都没解决这个问题,后来看到(http://blog.csdn.net/wqjsir/article/details/7169838)这篇文章能解决这个问题(其实只是让我们把Eclipse上的tomcat服务指向tomcat默认的服务实例,当然这不是我们期待的),我就再次想到这绝不是tomcat的问题,而是纯粹的404-文件找不到的错误,后来自己创建了测试项目,部署的在Eclipse上创建的这个服务上,发现能正常访问)。
所以大家遇到这种情况也不必着急去看出现tomcat控制台输出的信息了,比如信息:Loaded APR based Apache Tomcat Native library 1.1.30.或信息:Loaded APR based Apache Tomcat Native library 1.1.30 using APR version 1.4.8.这些看起来像是出现的一种错误,但是前面却是以“信息”两个字开头的,而我们知道tomcat的致命错误会以“严重”开头,所以大家不要疑虑,停止烦恼,直接在Eclipse下新建一个tomcat服务开始项目的创建开发吧!
其实这也是一个优势,这样的话我们可以把项目分别部署在不同的tomcat服务上,这样就避免了每次启动tomcat都要启动上面部署的所有项目,或者总是频繁的“add and remove”了。