tomcat启动报错 严重 [RMI TCP Connection(5)-127.0.0.1]

严重[RMI TCP Connection(5)-127.0.0.1]
org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start:
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/demo]]
tomcat用得好好的,但就在我新建了一个Servlet之后,他就突然暴毙,真的心疼。。
不怕你们笑话,我被这个低级错误整了一个多小时,浪费生命。

先来看一下粗心的我写的源码

在这里插入图片描述
注意看这个段代码有什么问题?
我想细心的华生已经发现了盲点
很好

没错就是他
在这里插入图片描述
@WebServlet(name = “Demo02ForwardServlet”, urlPatterns =“ForwardServlet”【加上一个斜杠就万事大吉】"/ForwardServlet" )
告诫各位:注解虽爽,但也要细心啊!!

===============================
如果还有耐心,看我分析一下原因。
网上找了一下tomcat的初始化大致的步骤,原作者在下方链接,黄底色部分是我个人分析

文档中显示大体分为两步
1:当接受到启动命令时 初始化类加载器 初始化核心类的 init()
2:初始化Tomcat 的信息 加载资源 等待请求的到来

当接受到启动命令时 详细动作(第一步)

在 org.apache.catalina.startup.Bootstrap 类的 init() 方法中
1:装配类加载器 commonLoader / sharedLoader / catalinaLoader
2:加载启动管理类 org.apache.catalina.startup.Catalina

第二步又分多小步

1:初始化Tomcat 信息

  1. 设置等待参数为true
  2. 初始化堆栈/读取配置/启动监听/初始化多个结果集/输出加载信息/初始化以及注册所有对象为JMX代理
    (在这一步中设置了单一的入口链接 http://127.0.0.1:8080)
    2:Catalina 的初始化

1)首先是加载服务StandardService -> starts Engine (ContainerBase ->Logger,Loader,Realm,Cluster etc)类的加载与初始化 / 开启线程上下文/加载需要部署的项目寻找路径是(webapps & conf/Catalina/localhost/*.xml) 然后加载处理应用的web.xml
我想问题应该出在这里:在JavaEE6.0的及之后,我们可以使用Servlet3.0版本的@WebServlet注解,从而省去web.xml文件,于是这个步骤应该会变成去加载我们在注解里添加的配置,所以如果注解中的urlPatterns写错了的话,那么应该会导致tomcat初始化失败,从而突然暴毙。以上就是我的分析,欢迎大佬指正。


2)启动一个线程来监听context/web.xml 如果更改就重新加载
3:当接收到请求 (会一直调用协议处理器)

1)单独开启的一个线程 等待接受请求的到来
2)获取到一个请求时分配一个TCP链接来处理请求(提供了一个容器)
(HTTP 请求在一个内部缓冲区中解析 [请求行/标头] 并将结果存储在结果集中 request )
3)解析完请求之后会将参数绑定到线程/并装载要使用的类以及实例的编译JSP
4)调用Servlet


本文来自 DoZX 的CSDN 博客 ,全文地址请点击:https://blog.csdn.net/qq_30436259/article/details/72817511?utm_source=copy

  • 9
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值