最近才开始学习javaWeb,简单的看了一下几个框架搭建,感觉最痛苦的就是一大堆的环境变量设置,比如:连接数据库设置,tomcat的设置等等,真的让人痛苦不堪,有时候就因为一个环境变量的配置问题苦苦纠结一个下午而找不到解决的方法,在网上搜到的方法大多是千篇一律或者是过去很久了已经不适应时代发展的潮流,在一次次的纠结中,我终于找到了正确的解决方法。共享一下。

问题来源: Tomcat 8080端口被占用,无法启动服务程序。

引发解决了一连串的问题:nestat命令使用方法,端口号查找。

其实这是一个很简单的问题,但是我在这个上面确实花费了几个小时的时间,说下我的解决方案。

1. 把控制台出错信息贴出来,才知道是8080端口号被占用

2. 通过netstat命令去查看是哪个pid占用了8080端口

在这个步骤中,我首先遇到的第一个问题是控制台显示“netstat命令不可用”,于是在C:\Windows\System32文件夹下面查找,是否有netstat相关的文件,结果是有这个文件,但是是大写的,如图: image,于是再次在控制台输入大写的NETSTAT命令,提示说没有权限。用“系统管理员”的身份登入cmd然后输入大写的“NETSTAT”则会列出所有的活动连接。

该问题总结:如果“netstat”命令不可用,就要去系统目录下查看是否有大小写的错误。另外要用系统管理员的身份登录。

3. netstat命令可用之后,需要查看8080端口到底是被什么进程给占用的。网上找的方法都是说给出了C:\>netstat -ano|findstr "8080" 这个命令来查看的,但是我输入这个命令之后,总是报错说“没有findstr”这个命令。然后又有情况说明有find/ 的命令,提示可以输入find string这个命令,结果仍然是不行,在绝望之中,我只输入了find “8080”

这个命令,结果竟然可以了,我就在想,难道真的是系统变了一些命令也会随之变化?

总之,运行的截图如下:

image

图中可以看到,占用8080端口号的进程编号为3704.

4. 如图所示,用“tasklist”命令找到所有任务,然后找到进程编号3704对应的应用程序,是电驴。然后在任务管理器中找到相应的进程,结束掉。

总结:在没有什么思路的情况下,不妨多试试其他的思路,网上的东西有时候会因为系统的原因或者其他的一些,总之,多搜资料,多尝试。

网上的文章参考:

http://www.cnblogs.com/myjavawork/articles/1867839.html

http://www.iteye.com/topic/1117270

http://hi.baidu.com/longhtml/blog/item/1ed03f2411b80f084d088d68.html

http://logtee.cn/archives/would-like-to-know-what-software-is-occupied-by-the-80-port.html