小问题有多学问

好久没碰struts了,今天手痒痒,拿出来练练,这一练,练出问题了。

 

其实,也不是什么大问题,但解决之后,总结一下,觉得这小问题,还是需要运用许多知识的积累的。

 

问题描述:在Myeclipse6.0中启动tomcat5.5,结果出错了:

 

严重: Error initializing endpoint
java.net.BindException: Address already in use: JVM_Bind:8080
    at org.apache.tomcat.util.net.PoolTcpEndpoint.initEndpoint(PoolTcpEndpoint.java:298)
    at org.apache.coyote.http11.Http11BaseProtocol.init(Http11BaseProtocol.java:139)
    at org.apache.catalina.connector.Connector.initialize(Connector.java:1017)
    at org.apache.catalina.core.StandardService.initialize(StandardService.java:578)
    at org.apache.catalina.core.StandardServer.initialize(StandardServer.java:782)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:504)
    at org.apache.catalina.startup.Catalina.load(Catalina.java:524)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:267)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:432)

 

按理说,这是8080端口被占用啊!

本来想,给tomcat换个端口吧!(其实最后我还就是换了tomcat的端口才解决问题的)可是总觉的得看看到底是谁占了8080端口。

打开命令提示符,输入:netstat -ano

一看,发现了,原来是PID为1844的家伙给占了,在打开任务管理器一看,找到了——进程:TNSLSNR.EXE占了8080端口。

我对端口不甚了解,网上一搜,原来是oracle里面的服务占了8080端口,哎!既然是人家Oracle占的,咱也不好说什么,老老实实地给tomcat换端口吧!

 

打开,tomcat_home/conf/server.xml,找到:

<Connector port="8080" maxHttpHeaderSize="8192"
               maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
               enableLookups="false" redirectPort="8443" acceptCount="100"
               connectionTimeout="20000" disableUploadTimeout="true"
      URIEncoding="UTF-8" />

 

一个字——换!

你可能感兴趣的:(小问题有多学问)