2012-1-30 14:03:00 org.apache.catalina.core.AprLifecycleListener init
信息: Loaded APR based Apache Tomcat Native library 1.1.22.
2012-1-30 14:03:00 org.apache.catalina.core.AprLifecycleListener init
信息: APR capabilities: IPv6 [false], sendfile [true], accept filters [false], random [true].
2012-1-30 14:03:01 org.apache.coyote.http11.Http11AprProtocol init
信息: Initializing Coyote HTTP/1.1 on http-8080
2012-1-30 14:03:01 org.apache.coyote.ajp.AjpAprProtocol init
信息: Initializing Coyote AJP/1.3 on ajp-8009
2012-1-30 14:03:01 org.apache.catalina.startup.Catalina load
信息: Initialization processed in 731 ms
2012-1-30 14:03:01 org.apache.catalina.core.StandardService start
信息: Starting service Catalina
2012-1-30 14:03:01 org.apache.catalina.core.StandardEngine start
信息: Starting Servlet Engine: Apache Tomcat/6.0.35
2012-1-30 14:03:01 org.apache.catalina.startup.HostConfig deployDescriptor
信息: Deploying configuration descriptor host-manager.xml
2012-1-30 14:03:01 org.apache.catalina.startup.HostConfig deployDescriptor
信息: Deploying configuration descriptor manager.xml
2012-1-30 14:03:01 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory docs
2012-1-30 14:03:01 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory examples
2012-1-30 14:03:01 org.apache.catalina.core.ApplicationContext log
信息: ContextListener: contextInitialized()
2012-1-30 14:03:01 org.apache.catalina.core.ApplicationContext log
信息: SessionListener: contextInitialized()
2012-1-30 14:03:01 org.apache.catalina.startup.HostConfig deployDirectory
信息: Deploying web application directory opennms-webapp
2012-1-30 14:03:01 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(D:\My Documents\Downloads\apache-tomcat-6.0.35\webapps\opennms-webapp\WEB-INF\lib\gwt-user-2.1.1.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2012-1-30 14:03:01 org.apache.catalina.loader.WebappClassLoader validateJarFile
信息: validateJarFile(D:\My Documents\Downloads\apache-tomcat-6.0.35\webapps\opennms-webapp\WEB-INF\lib\servlet-api-2.5.jar) - jar not loaded. See Servlet Spec 2.3, section 9.7.2. Offending class: javax/servlet/Servlet.class
2012-1-30 14:03:02 org.apache.tomcat.util.digester.Digester endElement
严重: End event threw exception
java.lang.reflect.InvocationTargetException
at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tomcat.util.IntrospectionUtils.callMethod1(IntrospectionUtils.java:928)
at org.apache.tomcat.util.digester.SetNextRule.end(SetNextRule.java:193)
at org.apache.tomcat.util.digester.Rule.end(Rule.java:229)
at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1138)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642)
at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:365)
at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1076)
at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4612)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.IllegalArgumentException: addChild:  Child name 'default' is not unique
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:789)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardContext.addChild(StandardContext.java:2383)
... 45 more
2012-1-30 14:03:02 org.apache.catalina.startup.ContextConfig applicationWebConfig

解决方案 »

  1.   

    严重: Parse error in application web.xml file at jndi:/localhost/opennms-webapp/WEB-INF/web.xml
    java.lang.IllegalArgumentException: addChild:  Child name 'default' is not unique
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2806)
    at org.apache.tomcat.util.digester.Digester.createSAXException(Digester.java:2832)
    at org.apache.tomcat.util.digester.Digester.endElement(Digester.java:1141)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.endElement(AbstractSAXParser.java:601)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanEndElement(XMLDocumentFragmentScannerImpl.java:1774)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2930)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:648)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:807)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:737)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:107)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1205)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
    at org.apache.tomcat.util.digester.Digester.parse(Digester.java:1642)
    at org.apache.catalina.startup.ContextConfig.applicationWebConfig(ContextConfig.java:365)
    at org.apache.catalina.startup.ContextConfig.start(ContextConfig.java:1076)
    at org.apache.catalina.startup.ContextConfig.lifecycleEvent(ContextConfig.java:261)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.StandardContext.start(StandardContext.java:4612)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
    at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
    at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
    at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
    at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
    at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
    at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
    at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
    at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
    at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
    at org.apache.catalina.core.StandardService.start(StandardService.java:525)
    at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
    at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
    2012-1-30 14:03:02 org.apache.catalina.startup.ContextConfig applicationWebConfig
    严重: Occurred at line 362 column 13
    2012-1-30 14:03:02 org.apache.catalina.startup.ContextConfig start
    严重: Marking this application unavailable due to previous error(s)
    2012-1-30 14:03:02 org.apache.catalina.core.StandardContext start
    严重: Error getConfigured
    2012-1-30 14:03:02 org.apache.catalina.core.StandardContext start
    严重: Context [/opennms-webapp] startup failed due to previous errors
    2012-1-30 14:03:02 org.apache.catalina.startup.HostConfig deployDirectory
    信息: Deploying web application directory ROOT
    2012-1-30 14:03:02 org.apache.coyote.http11.Http11AprProtocol start
    信息: Starting Coyote HTTP/1.1 on http-8080
    2012-1-30 14:03:02 org.apache.coyote.ajp.AjpAprProtocol start
    信息: Starting Coyote AJP/1.3 on ajp-8009
    2012-1-30 14:03:02 org.apache.catalina.startup.Catalina start
    信息: Server startup in 1878 ms
      

  2.   

    web.xml文件
    <?xml version="1.0" encoding="ISO-8859-1"?>
    <web-app id="opennms" version="2.4"
     xmlns="http://java.sun.com/xml/ns/j2ee"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">  <jsp-config>
        <jsp-property-group>
            <url-pattern>*.jsp</url-pattern>
            <page-encoding>UTF-8</page-encoding>
        </jsp-property-group>
      </jsp-config>
     
      <display-name>opennms</display-name>  <!-- Uncomment this to set the webapp timeout to infinite.
      <session-config>
        <session-timeout>-1</session-timeout>
      </session-config>
      -->
      
      <context-param>
        <param-name>dontBlameOpenNMS</param-name>
        <param-value>false</param-value>
      </context-param>
      
      <!--  This is used by the Spring Log4jConfigListener <listener> below -->
      <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>/WEB-INF/log4j.properties</param-value>
      </context-param>  <!--  This is used by the Spring ContextLoaderListener <listener> below -->
      <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/applicationContext-common.xml
            classpath:/org/opennms/web/svclayer/applicationContext-svclayer.xml
            classpath*:/META-INF/opennms/component-service.xml
            classpath:/META-INF/opennms/applicationContext-systemReport.xml
            classpath:/META-INF/opennms/applicationContext-reportingCore.xml
            classpath:/META-INF/opennms/applicationContext-reportingAvailability.xml
            classpath:/META-INF/opennms/applicationContext-reportingJasperReports.xml
            classpath:/META-INF/opennms/applicationContext-reporting.xml
            /WEB-INF/applicationContext-spring-security.xml
            /WEB-INF/applicationContext-jersey.xml
            /WEB-INF/applicationContext-spring-webflow.xml
            <!-- WARMERGE: insert contextConfigLocation -->
        </param-value>
      </context-param>
      
      <context-param>
        <param-name>parentContextKey</param-name>
        <param-value>daoContext</param-value>
      </context-param>  <!-- WARMERGE: insert context-param -->    <filter>
        <!--  note the name of this filter is important and is used in the app contexts -->
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
      </filter>  <filter>
        <description>Allows "cross-site scripting" for the REST services.</description>
        <filter-name>AccessControlAllowOrigin</filter-name>
        <filter-class>org.opennms.web.AddAccessControlHeaderFilter</filter-class>
        <!-- 
        <init-param>
          <description>This parameter specifies what origins to allow.</description>
          <param-name>origin</param-name>
          <param-value>*</param-value>
        </init-param>
        -->
      </filter>  <filter>
        <description>Adds the refresh HTTP header to a servlet's or JSP's output so it will be automatically reloaded.</description>
        <filter-name>AddRefreshHeader-300</filter-name>
        <filter-class>org.opennms.web.AddRefreshHeaderFilter</filter-class>
        <init-param>
          <description>This parameter specifies how often to refresh the page.</description>
          <param-name>seconds</param-name>
          <param-value>300</param-value>
        </init-param>
      </filter>  <filter>
        <description>Adds the refresh HTTP header to a servlet's or JSP's output so it will be automatically reloaded.</description>
        <filter-name>AddRefreshHeader-120</filter-name>
        <filter-class>org.opennms.web.AddRefreshHeaderFilter</filter-class>
        <init-param>
          <description>This parameter specifies how often to refresh the page.</description>
          <param-name>seconds</param-name>
          <param-value>120</param-value>
        </init-param>
      </filter>
      
      <filter>
        <description>Adds the refresh HTTP header to a servlet's or JSP's output so it will be automatically reloaded.</description>
        <filter-name>AddRefreshHeader-30</filter-name>
        <filter-class>org.opennms.web.AddRefreshHeaderFilter</filter-class>
        <init-param>
          <description>This parameter specifies how often to refresh the page.</description>
          <param-name>seconds</param-name>
          <param-value>30</param-value>
        </init-param>
      </filter>  
      <filter>
        <description>Stores HTTP request parameters in request attributes for later access</description>
        <filter-name>StoreRequestProperties</filter-name>
        <filter-class>org.opennms.web.StoreRequestPropertiesFilter</filter-class>
        <init-param>
          <description>Into which request attribute the value of HttpServletRequest.getServletPath() is stored</description>
          <param-name>relativeServletPathAttribute</param-name>
          <param-value>relativeRequestPath</param-value>
        </init-param>
      </filter>
      
      <filter>
        <filter-name>openSessionInViewFilter</filter-name>
        <filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class>
      </filter>
      
      <filter>
        <filter-name>eXtremeExport</filter-name>
        <filter-class>org.extremecomponents.table.filter.ExportFilter</filter-class>
      </filter>
      
      <filter>
        <filter-name>UrlRewriteFilter</filter-name>
        <filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
        <init-param>
          <param-name>statusEnabled</param-name>
          <param-value>true</param-value>
        </init-param>
      </filter>  <!-- WARMERGE: insert filter -->  <filter-mapping>
        <filter-name>openSessionInViewFilter</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>
      
      <filter-mapping>
        <filter-name>StoreRequestProperties</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>  <filter-mapping>
        <filter-name>AccessControlAllowOrigin</filter-name>
        <url-pattern>/rest/*</url-pattern>
      </filter-mapping>
      
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/index.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/rtc/category.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/element/node.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/element/linkednode.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/element/interface.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/element/service.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/outage/list.htm</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/graph/results.htm</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-300</filter-name>
        <url-pattern>/KSC/customView.htm</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-120</filter-name>
        <url-pattern>/event/list</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-30</filter-name>
        <url-pattern>/alarm/list.htm</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>AddRefreshHeader-30</filter-name>
        <url-pattern>/alarm/detail.jsp</url-pattern>
      </filter-mapping>
      <filter-mapping>
        <filter-name>eXtremeExport</filter-name>
        <url-pattern>/*</url-pattern>
      </filter-mapping>  <filter-mapping>
        <filter-name>UrlRewriteFilter</filter-name>
        <url-pattern>*.jnlp</url-pattern>
      </filter-mapping>  <!-- WARMERGE: insert filter-mapping -->  <listener>
        <!-- This listener handles our custom startup/shutdown behavior. -->
        <listener-class>org.opennms.web.InitializerServletContextListener</listener-class>
      </listener>  <!--
        Log4jConfigListener must come after InitializerServletContextListener
        because the opennms.webapplogs.dir system property used in log4j.properties
        is set by InitializerServletContextListener.    However, putting this after InitializerServletContextListener means you
        won't see any of the log messages generated in contextInitialized() in
        InitializerServletContextListener.    So, if you're getting a 'SEVERE: Error listenerStart' or similar error from
        Tomcat, and the OpenNMS webapp logs don't appear to contain any errors, try
        manually replacing ${opennms.webapplogs.dir} in log4j.properties, and moving
        this listener above InitializerServletContextListener, so you can see the
        messages generated by InitializerServletContextListener.
      -->
      <listener>
        <listener-class>org.opennms.web.Log4jConfigListener</listener-class>
      </listener>  <listener>
        <!-- This listener handles our custom startup/shutdown behavior. -->
        <listener-class>org.opennms.web.DependencyCheckingContextListener</listener-class>
      </listener>  <listener>
        <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
      </listener>
      
      

  3.   

    <servlet>
        <servlet-name>default</servlet-name>
        <servlet-class>org.mortbay.jetty.servlet.DefaultServlet</servlet-class>
        <init-param>
          <param-name>acceptRanges</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>dirAllowed</param-name>
          <param-value>false</param-value>
        </init-param>
        <init-param>
          <param-name>welcomeServlets</param-name>
          <param-value>false</param-value>
        </init-param>
        <init-param>
          <param-name>redirectWelcome</param-name>
          <param-value>false</param-value>
        </init-param>
        <init-param>
          <param-name>maxCacheSize</param-name>
          <param-value>256000000</param-value>
        </init-param>
        <init-param>
          <param-name>maxCachedFileSize</param-name>
          <param-value>10000000</param-value>
        </init-param>
        <init-param>
          <param-name>maxCachedFiles</param-name>
          <param-value>1000</param-value>
        </init-param>
        <init-param>
          <param-name>cacheType</param-name>
          <param-value>both</param-value>
        </init-param>
        <init-param>
          <param-name>gzip</param-name>
          <param-value>true</param-value>
        </init-param>
        <init-param>
          <param-name>useFileMappedBuffer</param-name>
          <param-value>true</param-value>
        </init-param>
        <!--
        <init-param>
          <param-name>cacheControl</param-name>
          <param-value>max-age=3600,public</param-value>
        </init-param>
        -->
        <load-on-startup>0</load-on-startup>
      </servlet>  <!--  RESTful Web Services -->
      <servlet>
        <servlet-name>opennmsRestWebServices</servlet-name>
        <servlet-class>com.sun.jersey.spi.spring.container.servlet.SpringServlet</servlet-class>
        <init-param>
          <param-name>com.sun.jersey.config.property.resourceConfigClass</param-name>
          <param-value>com.sun.jersey.api.core.PackagesResourceConfig</param-value>
        </init-param>
        <init-param>
          <param-name>com.sun.jersey.config.property.packages</param-name>
          <param-value>org.opennms.web.rest</param-value>
        </init-param>
        <load-on-startup>1</load-on-startup>
      </servlet>  <!--  servlet that gwt rpc requests get mapped to -->
       <servlet>
         <servlet-name>gwtDispatcher</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
       </servlet>  <!--  servlet that map requests get mapped to -->
       <servlet>
         <servlet-name>mapDispatcher</servlet-name>
         <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
         <load-on-startup>2</load-on-startup>
       </servlet>   <!-- Serves static resource content from .jar files such as spring-js.jar -->
       <servlet>
    <servlet-name>Resources Servlet</servlet-name>
    <servlet-class>org.springframework.js.resource.ResourceServlet</servlet-class>
    <load-on-startup>0</load-on-startup>
       </servlet>

       <!-- Map all /resources requests to the Resource Servlet for handling -->
       <servlet-mapping>
    <servlet-name>Resources Servlet</servlet-name>
    <url-pattern>/resources/*</url-pattern>
       </servlet-mapping>  <!-- Servlet for modify Discovery configuration service -->
      <servlet>
        <servlet-name>actionDiscovery</servlet-name>
        <servlet-class>org.opennms.web.admin.discovery.ActionDiscoveryServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>modifyDiscoveryConfig</servlet-name>
        <servlet-class>org.opennms.web.admin.discovery.ModifyDiscoveryConfigurationServlet</servlet-class>
      </servlet>  
      
      <servlet>
        <servlet-name>importAssets</servlet-name>
        <servlet-class>org.opennms.web.asset.ImportAssetsServlet</servlet-class>
        <init-param>
          <description>Redirect to this sibling URL on success.</description>
          <param-name>redirect.success</param-name>
          <param-value>../../asset/nodelist.jsp?column=address1&amp;searchvalue=</param-value>
        </init-param>
      </servlet>
      <servlet>
        <servlet-name>exportAssets</servlet-name>
        <servlet-class>org.opennms.web.asset.ExportAssetsServlet</servlet-class>
      </servlet>
      <servlet>
        <servlet-name>modifyAsset</servlet-name>
        <servlet-class>org.opennms.web.asset.ModifyAssetServlet</servlet-class>
        <init-param>
          <description>Redirect to this sibling URL on success.</description>
          <param-name>redirect.success</param-name>
          <param-value>list</param-value>
        </init-param>
      </servlet>
      <servlet>
        <servlet-name>queryEvent</servlet-name>
        <servlet-class>org.opennms.web.event.EventQueryServlet</servlet-class>
        <init-param>
          <description>Redirect to this sibling URL after changing the parameter set.</description>
          <param-name>redirect.url</param-name>
          <param-value>list</param-value>
        </init-param>    
      </servlet>
      <servlet>
        <servlet-name>queryAlarm</servlet-name>
        <servlet-class>org.opennms.web.alarm.AlarmQueryServlet</servlet-class>
        <init-param>
          <description>Redirect to this sibling URL after changing the parameter set.</description>
          <param-name>redirect.url</param-name>
          <param-value>list.htm</param-value>
        </init-param>    
      </servlet>
      <servlet>
        <servlet-name>filterVulnerability</servlet-name>
        <servlet-class>org.opennms.web.vulnerability.VulnerabilityFilterServlet</servlet-class>
      </servlet>  
      
      
      <!-- Servlet for updating the notification status -->
      <servlet>
        <servlet-name>updateNotificationStatus</servlet-name>
        <servlet-class>org.opennms.web.admin.notification.UpdateNotifdStatusServlet</servlet-class>
      </servlet>
      

  4.   

    Caused by: java.lang.IllegalArgumentException: addChild: Child name 'default' is not unique<servlet-name>default</servlet-name>猜测:你Servlet的名字,不要用default,换个其它名字试试看吧。
      

  5.   

    同意楼上 ,什么名字不好用 ,要用default ?
      

  6.   

    它是第三方web应用。因此,我们需要一个直截了当的解决方案。