关于JavaWeb中Tomcat端口被占用的解决方法

By | 2017年 2月 7日

今天想用javaweb写点东西,在EclipseEE中又出现了tomcat无法启动的情况,报错如下图。

上一次出现,我以为是项目的问题,调了半天项目,把servlet删了重新导入,各种折腾,不知道怎么就弄好了,这次很明显项目没法弄,好久没用过了,我也不知道哪个项目有问题,百度了错误以后发现是端口被占用,在cmd里查了一下,发现是QQ把我的8080给占了,很尴尬啊,先试试把QQkill掉,但没效果啊,重启系统QQ又启动了,查询端口号又进行关闭,也没用,后来在配置文件servlse中修改端口号还是不管用,重启系统,依旧不管用,当我无奈打开servlet时突然发现在eclipse中可以直接修改,而且就在左边,如下图,挑个没用过的端口号输进去就可以了。当然换端口号之前还需要查询一下现在空余的端口,不然就会发生冲突,端口号查询方式如下文。

直接修改HTTP的端口,因为要响应的是HTTP请求,我修改为8008就可以了

下面是端口号查询的命令

  1. 查看所有的端口占用情况

    C:>netstat -ano

    协议 本地地址 外部地址 状态 PID

    TCP 127.0.0.1:1434 0.0.0.0:0 LISTENING 3236
    TCP 127.0.0.1:5679 0.0.0.0:0 LISTENING 4168
    TCP 127.0.0.1:7438 0.0.0.0:0 LISTENING 4168
    TCP 127.0.0.1:8015 0.0.0.0:0 LISTENING 1456
    TCP 192.168.3.230:139 0.0.0.0:0 LISTENING 4
    TCP 192.168.3.230:1957 220.181.31.225:443 ESTABLISHED 3068
    TCP 192.168.3.230:2020 183.62.96.189:1522 ESTABLISHED 1456
    TCP 192.168.3.230:2927 117.79.91.18:80 ESTABLISHED 4732
    TCP 192.168.3.230:2929 117.79.91.18:80 ESTABLISHED 4732
    TCP 192.168.3.230:2930 117.79.91.18:80 ESTABLISHED 4732
    TCP 192.168.3.230:2931 117.79.91.18:80 ESTABLISHED 4732

  2. 查看指定端口的占用情况
    C:>netstat -aon|findstr "9050"
    协议 本地地址 外部地址 状态 PID
    TCP 127.0.0.1:9050 0.0.0.0:0 LISTENING 2016
    P: 看到了吗,端口被进程号为2016的进程占用,继续执行下面命令: (也可以去任务管理器中查看pid对应的进程)

  3. 查看PID对应的进程
    C:>tasklist|findstr "2016"
    映像名称 PID 会话名 会话# 内存使用
    ========================= ======== ================
    tor.exe 2016 Console 0 16,064 K

  4. 结束该进程
    C:>taskkill /f /t /im tor.exe

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注