在使用tomcat运行项目时,遇到端口80被占用的情况问题解决

问题描述:Failed to initialize end point associated with ProtocolHandler ["http-bio-80"] java.net.BindException: Address already in use: NET_Bind :80

在学习springmvc的时候,跟着黑马视频进行学习,结果,运行第一个springmvc项目的时候,出现["http-bio-80"]这种的情况。通过查看资料,得到,原因是端口被占用的情况。

首先查看这个端口被谁占用了,在命令提示符下输入:netstat -ano | findstr "80"

找到端口80对应的进程pid是4。在从任务管理器里面找到pid是4的进程是System。这个进程不能手动关闭。

在使用tomcat运行项目时,遇到端口80被占用的情况问题解决_第1张图片

需要理解,80端口就是HTTP服务器所使用的默认端口号。如果电脑启用了IIS服务,这个端口就会默认被占用的。

通过总结看过的博客有以下解决方案:

1.手动关闭IIS服务。

Failed to initialize end point associated with ProtocolHandler ["http-bio-80"] java.net.BindExce问题解决-CSDN博客

2.(手动关闭IIS服务无法解决问题)通过命令关闭:

80端口被占用的几种情况及解决方法_80端口占用-CSDN博客

 3.通过注册表,找到HTTP对应的默认端口号,改掉。

80端口被占用的两种解决方案 - 超详细(已解决)_80端口被占用怎么解决-CSDN博客

首先我们需要理解,端口80这个的含义是什么,在计算机网络一书里面介绍,这个端口80表示是提供给HTTP超文本传输协议 使用的。

但是,个人感觉吧,通过上述方式修改并不太好。首先IIS服务,是非常重要的一个服务,各种服务器的启用都需要用到IIS服务。而且如果关闭HTTP超文本传输协议的80端口,可能会造成网页打不开的情况。所以,根据自己的理解,去修改tomcat服务的默认80端口不就好了!

解决方式:

修改 Apache下载目录下conf目录的settings.xml文件。

在使用tomcat运行项目时,遇到端口80被占用的情况问题解决_第2张图片

在使用tomcat运行项目时,遇到端口80被占用的情况问题解决_第3张图片

最简单的解决方式:

这个时候在返回IDEA运行项目就不会出现端口被占用的情况了。

还有一种情况,就是修改了默认配置下的端口号发现还是端口被占用了。原因出在pom.xml引入了tomcat,而不是用的是我们下载的tomcat。

在使用tomcat运行项目时,遇到端口80被占用的情况问题解决_第4张图片

结果:已经变成8888端口了。

在使用tomcat运行项目时,遇到端口80被占用的情况问题解决_第5张图片

注意:最后在浏览器需要输入,http:/localhost:8888/ 。需要加上端口号才能正常访问。

你可能感兴趣的:(tomcat,java)