tomcat启动异常org.apache.catalina.deploy.WebXml addFilter

严重: End event threw exception
java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:849)
at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1063)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1812)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1250)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


二月 04, 2015 3:22:13 下午 org.apache.catalina.startup.ContextConfig parseWebXml
严重: Parse error in application web.xml file at jndi:/localhost/app1/WEB-INF/web.xml
org.xml.sax.SAXParseException; systemId: jndi:/localhost/app1/WEB-INF/web.xml; lineNumber: 27; columnNumber: 14; Error at (27, 14) : org.apache.catalina.deploy.WebXml addFilter
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2711)
at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2743)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1066)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1561)
at org.apache.catalina.startup.ContextConfig.parseWebXml(ContextConfig.java:1812)
at org.apache.catalina.startup.ContextConfig.webConfig(ContextConfig.java:1250)
at org.apache.catalina.startup.ContextConfig.configureStart(ContextConfig.java:876)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:374)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117)
at org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(LifecycleBase.java:90)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5355)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NoSuchMethodException: org.apache.catalina.deploy.WebXml addFilter
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:849)
at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:201)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1063)

... 25 more

解决办法:在tomcat的conf/content.xml中加上<Loader delegate="true" />

位置如下:

<?xml version="1.0" encoding="UTF-8"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at

      http://www.apache.org/licenses/LICENSE-2.0

  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
--><!-- The contents of this file will be loaded for each web application --><Context>

    <!-- Default set of monitored resources -->
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
	<Loader delegate="true" />
    <!-- Uncomment this to disable session persistence across Tomcat restarts -->
    <!--
    <Manager pathname="" />
    -->

    <!-- Uncomment this to enable Comet connection tacking (provides events
         on session expiration as well as webapp lifecycle) -->
    <!--
    <Valve className="org.apache.catalina.valves.CometConnectionManagerValve" />
    -->

</Context>


  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: org.apache.catalina.deploy.webxml addservlet 是一个用于向Tomcat服务器的web.xml文件中添加servlet的类。它可以通过编程方式添加servlet,而无需手动编辑web.xml文件。 ### 回答2: org.apache.catalina.deploy.webxmladdServlet是一个用于向web.xml文件中添加Servlet配置的方法。在Java Web应用程序中,web.xml是一个配置文件,用于对Servlet和其他Web组件进行配置和管理。 addServlet方法的作用是向web.xml文件中添加一个Servlet配置。这个方法接收多个参数,包括Servlet的名称、类名、映射路径、加载与启动参数等。 通过添加Servlet配置,应用程序可以定义和管理多个Servlet,每个Servlet可以处理不同的URL请求。由于Servlet是Java程序,通过配置不同的Servlet,应用程序可以提供不同的服务和功能。 在调用addServlet方法时,可以传入Servlet的名称,以及其对应的类名和其他属性。添加后,这些配置将被写入web.xml文件中。这样,在应用程序启动过程中,Servlet容器就会加载和实例化这些Servlet,并根据配置的映射路径将请求传递给相应的Servlet进行处理。 在使用addServlet方法时,需要注意确保传入的参数合法有效,避免出现错误或冲突的配置。同时,还可以在配置Servlet时,设置其他属性,如加载顺序、安全约束和初始化参数等。 总之,org.apache.catalina.deploy.webxmladdServlet方法提供了一种方便的方式来向web.xml文件中动态添加和配置Servlet,以实现Java Web应用程序的灵活性和可扩展性。 ### 回答3: org.apache.catalina.deploy.webxml addservlet是一个Tomcat服务器中的类,用于在web.xml文件中添加一个servlet的配置。 在JavaEE中,web应用程序使用web.xml文件来配置和管理servlet和其他组件。org.apache.catalina.deploy.webxml addservlet类提供了一种方便的方法来在web.xml文件中添加servlet。 通过使用org.apache.catalina.deploy.webxml addservlet类,我们可以在web.xml文件中添加一个servlet的配置。这个类提供了一系列的方法,可以设置servlet的名称、类名、URL映射等属性。我们可以根据应用程序的需求来设置这些属性,以便正确地配置servlet。 使用org.apache.catalina.deploy.webxml addservlet类的过程非常简单。首先,我们需要创建一个该类的实例。然后,通过调用该实例的方法,设置servlet的各种属性。最后,我们需要将该实例传递给web.xml文件的适当位置,以便将servlet配置写入文件中。 这个类的作用在于简化了在代码中配置servlet的过程。通过使用该类,我们可以动态地在运行时向web.xml文件中添加servlet的配置,而不需要手动编辑web.xml文件。 总而言之,org.apache.catalina.deploy.webxml addservlet是一个用于在Tomcat服务器的web.xml文件中添加servlet配置的类。它提供了一种方便的方法来配置和管理servlet,使得我们可以在应用程序运行时动态地添加servlet的配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值