Loading

eclipse运行web,tomcat报错Server Tomcat v9.0 Server at localhost failed to start

第一种:查看Servlet3.0中出现了新增注释@WebServlet。

ervlet3.0中出现了新增注释@WebServlet ,在Eclipse生成一个新的Servlet类时会自动增加@WebServlet注释,改注释会自动为我们配置web.xml,所以这时候我们再去配置web.xml就会产生冲突,tomcat就不能启动。这个时候我们只需要删除@WebServlet或者删除web.xml配置就能正常启动tomcat了。

 

第二种:.端口被占用(这个网上记载的很清楚,至于你想关闭别的进程的端口,还是修改tomcat的配置端口,自己百度,或者Google)

如果是这种小白可以直接重启电脑试试

第一步,在开始菜单->运行->cmd->输入netstat -ano,在本地地址那栏可以查看哪个进程占用了8080和8009端口(具体看你的Tomcat服务器是用什么端口的);

第二步,使用taskkill /pid 6856 /f 将端口关闭,其中6856代表占用窗口的PID,每台机子都不一样,根据实际情况来

 

------------------------------------------------------------

一般有以上两种情况导致的无法运行,报错。由于我卸载了tomcat9,重新安装了tomcat9,后来又卸载,重新安装了tomcat8.5,还是会出现Server Tomcat  Server at localhost failed to start。我也卸载了我的oxygen版本的eclipse(此版本是2017版本的),然后下载了最新的eclipse,又卸载掉最新的eclipse版本,重新下载oxygen版本,这个问题还是存在。再后来我有下载回来了最新版本的eclipse。

 

我说的那么啰嗦的原因是,如果出现Server Tomcat v9.0 Server at localhost failed to start,而且输出错误信息:

at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java...........

 情况1:(先找到你的tomcat安装路径,在bin下找到shutdown.bat,双击关闭服务器,然后回到eclipse,右击下面的服务器,remove项目,然后clean一下,再重新运行项目)

 

 

如果还是不行,那么重装tomcat,因为tomcat才十几M,下载直接解压就可以用了。(前提是你配置好了环境,环境很好配,网上一大把资料)

这种情况我觉得一般可以通过重装tomcat服务器解决。

 

情况2:可以打开正常的静态网页,但是一旦转发servlet,就报错!(如下图)

 

 

这种情况的话,说明你tomcat服务器没毛病,只是你程序本身的问题,404,表示你的问题,因为服务器找不到资源,这是你自己的锅。

一般出现这种问题,绝对是你的servlet配置出现了问题,首先你要知道servlet这玩意已经出来这么久了,tomcat服务器对它的稳定性绝逼非常稳定,因为sun公司的程序员可不是吃素的,玩了这么久的servlet,对servlet的支持性如果不稳定的话,那还要他们干嘛!

 

所以问题出现在你身上后就容易解决了。

解决思路1:如果你是用web.xml配置的,那么你绝对某个配置写错了,才会引起错误,这个需要你自己看看web.xml下面的servlet配置的名称和地址是否正确,然后进行修改!

 

解决思路2:如果你使用的是servlet3.0方式进行配置的话,你一定要确报你的jdk版本是1.6及1.6以上的,因为这是1.6或1.6以上才支持servlet注解配置的。所以确定jdk版本以后,你还要注意你的WebServelt("/demo1"),例如这个注解配置,你是否遗漏了很重要,却不起眼的“/”,这个小斜杠,然后检查你的所有servlet,逐个修改。

 

解决思路3:如果你是采用web.xml,加上servlet3.0的注解双管齐下进行开发的,那么恭喜你,这样出错率更大,因为你如果在web.xml下面配置完成了的话,还使用servlet3.0注解配置,那么可能无意间使用了相同名称可能会报错,或者web.xml有一个配置,为Boolean值,错误定义了他的值,你将会报错,即使你的servlet注解和web.xml的配置没有相同名称。

 

总结一下:

1.就是如果你是整个tomcat,服务器出错了,那么可以选择重新安装,然后重新配置项目;也可以关闭服务器,移除项目,再重新运行项目。

2.如果你是单纯servelt,访问404错误,那么不要怀疑是tomcat的jar包和你引进的jar包引起的冲突导致你无法使用servlet,因为这种情况微乎其微,对于一个刚入门,才学习到servlet的人来说,更是如此,你应该多看看自己的代码,因为95%以上是你的代码不规范,或者逻辑错误引发的问题!那么唯一可以做的就是检查你的代码!

 

goodbye!!!

 

posted @   兜里还剩五块出头  阅读(15729)  评论(1编辑  收藏  举报
点击右上角即可分享
微信分享提示
主题色彩