Tomcat是Apache软件基金会(ApacheSoftwareFoundation)Jakarta项目中的一个核心项目,由Apache、Sun等公司和个人共同开发。由于Sun的参与和支持,最新的Servlet和JSP规范总能在Tomcat中得到体现,Tomcat5支持最新的Servlet2.4和JSP2.0规范。由于Tomcat技术先进、性能稳定、免费,深受Java爱好者的喜爱和一些软件开发商的认可,成为目前比较流行的Web应用服务器。今天小编就来说说我在项目实施过程中遇到的一个关于Tomcat的很奇怪的问题。用Tomcat5.5部署web项目后,在浏览器界面可以通过localhost访问,但是通过IP地址访问的时候,怎么都连接不上。一直提示访问连接无效。(tomcat6.0及以上版本没有这个现象,原因是配置文件做了优化。)在网上查询资料和百度,终于得到了解决办法,浪费了将近一天100多话费中的元,今天特意整理一下,免得以后的朋友再遇到类似的问题时,不会手足无措。1现象描述当时的场景是在同一台机器上搭建两个应用程序:应用程序1和应用程序2,使用相同的Tomcat5.5,但是启动的端口不同(8080和8088),发现两个应用程序在listening端口都处于监听状态,但是telnet127.0.0.1端口无法连接,很奇怪。下图中的“8080”端口可以通过telnet连接,但是“8088”端口通过telnet连接不成功,连接时会报“无法连接到目标端口错误”。通过netstat命令查看两个端口的区别,发现8080端口绑定了“0.0.0.0:8080”,而8088端口没有这种绑定,而是直接绑定了IPV6地址。这种情况下,不管你怎么访问都没用,如下图:2解决方案在tomcat5.5目录下找到conf\server.xml文件:
