ContainerBase.addChild: start: org.apache.catalina.LifecycleException: Failed to start component解决

时间:2021-01-15 03:57:55

第一:先确定一下开发流程是否正确

1.写好servlet组件类

2.写好web.xml文件--向服务器介绍组件

3.发布--就是拷贝

注意:要拷贝包结构,不要只拷贝组件类文件

另外,拷贝的是.class文件,不是.java文件。

4.启动Tomcat服务器

如果流程正确还是如标题的问题,那就是web.xml肯定有问题

结构如下:

<?xml version="1.0" encoding="ISO-8859-1"?>

<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0"
metadata-complete="true"> <servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.felix.servlet.HelloServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping> </web-app>
其中出下面的部分外,其他部分可以从Tomcat服务器提供的web应用的例程中的web.xml直接拷贝。 
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>com.felix.servlet.HelloServlet</servlet-class>
</servlet> <servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/hello</url-pattern>
</servlet-mapping>

可能的错误原因:

1.servlet  servlet-name   servlet-class  servlet-mapping  url-pattern 有拼写错误
2.servlet-class路径有问题
3.url-pattern过滤器中缺少/