Announcement Announcement Module
Collapse
No announcement yet.
Problem with filters in web.xml Page Title Module
Move Remove Collapse
This topic is closed
X
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Problem with filters in web.xml

    Ok some questions, because we want to use Acegi in our Struts-Spring-Hibernate application:

    - first of all, is there a good tutorial, besides the examples
    - second, we trying to get the quick-start to work, but it fails on de filters.
    Buy the way we are using Netbeans.

    is is our web.xml:

    Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <!DOCTYPE web-app
      PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
      "http&#58;//java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    
    <web-app>
      <display-name>Struts Spring Hibernate</display-name>
      
      <context-param>
    	<param-name>contextConfigLocation</param-name> 
    	<param-value>/WEB-INF/applicationContext-hibernate.xml</param-value> 
      </context-param>
      
      <servlet>
    	  <servlet-name>SpringContextServlet</servlet-name>
    	  <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>	  
    	  <load-on-startup>1</load-on-startup>
      </servlet>
      
      <servlet>
    	<servlet-name>proxool</servlet-name>
    	<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
      </servlet>
     
      <!-- Standard Action Servlet Configuration &#40;with debugging&#41; -->
      <servlet>
        <servlet-name>action</servlet-name>
        <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
        <init-param>
          <param-name>config</param-name>
          <param-value>/WEB-INF/struts-config.xml</param-value>
        </init-param>
    	<init-param>
          <param-name>debug</param-name>
          <param-value>2</param-value>
        </init-param>
        <init-param>
          <param-name>detail</param-name>
          <param-value>2</param-value>
        </init-param>
        <load-on-startup>2</load-on-startup>
      </servlet>
    	
      <!-- Action Servlet Mapping -->
      <servlet-mapping>
        <servlet-name>action</servlet-name>
        <url-pattern>*.do</url-pattern>
      </servlet-mapping>
      
      <servlet-mapping>
    	<servlet-name>proxool</servlet-name>
    	<url-pattern>/proxool</url-pattern>
      </servlet-mapping>
    
    
      <!-- The Usual Welcome File List -->
      <welcome-file-list>
        <welcome-file>index.jsp</welcome-file>
      </welcome-file-list>
    
    
      <!-- Struts Tag Library Descriptors -->
      <taglib>
        <taglib-uri>/tags/struts-bean</taglib-uri>
        <taglib-location>/WEB-INF/tags/struts-bean.tld</taglib-location>
      </taglib>
    
      <taglib>
        <taglib-uri>/tags/struts-html</taglib-uri>
        <taglib-location>/WEB-INF/tags/struts-html.tld</taglib-location>
      </taglib>
    
      <taglib>
        <taglib-uri>/tags/struts-logic</taglib-uri>
        <taglib-location>/WEB-INF/tags/struts-logic.tld</taglib-location>
      </taglib>
      
      <taglib>
    	<taglib-uri>/tags/struts-tiles</taglib-uri>
    	<tablib-location>/WEB-INF/tags/struts-tiles.tld</tablib-location>
      </taglib>
      
      <taglib>
    	<taglib-uri>/tags/c</taglib-uri>
    	<tablib-location>/WEB-INF/tags/c.tld</tablib-location>
      </taglib>
       
       
      <filter>
    	<filter-name>hibernateFilter</filter-name>
    	<filter-class>com.thefactore.FlushingSpringSessionInViewFilter</filter-class>
    	<init-param>
    		<param-name>sessionFactoryBeanName</param-name>
    		<param-value>sessionFactory</param-value>
    	</init-param>
      </filter>
     
      <filter-mapping>
            <filter-name>hibernateFilter</filter-name>
            <url-pattern>*.do</url-pattern>
      </filter-mapping>
    
    </web-app>

    Where do we have to put the filters as shown in quick-start.
    If we place them directly under the hibernatefilter we get the next error:

    ....
    SEVERE: Error filterStart
    Oct 19, 2004 4:28:34 PM org.apache.catalina.core.StandardContext start
    SEVERE: Context startup failed due to previous errors
    ....

  • #2
    :shock: We are still using Spring's ContextLoaderServlet :shock:
    We think we need the ContextLoaderListener. We have tested it and we have no error yet.



    ContextLoaderServlet
    Note that this class has been deprecated for containers implementing Servlet API 2.4 or higher in favour of ContextLoaderListener.

    Comment


    • #3
      :cry: :cry: :cry: :cry: :cry:
      Unfortunately, It's still not working. Same error. Premature Happiness

      Comment


      • #4
        Please switch on debug-level logging for the Acegi Security classes and post them here, together with your final web.xml and a few extra lines of your web server startup log. This should help give some more clues.

        Comment


        • #5
          Is is the error if I place the filters just like in contacts-sample

          Code:
          INFO&#58; Server startup in 39306 ms
          Oct 20, 2004 9&#58;48&#58;38 AM org.apache.catalina.core.StandardHostDeployer stop
          INFO&#58; standardHost.stop /acegi
          Oct 20, 2004 9&#58;48&#58;38 AM org.apache.catalina.core.StandardHostDeployer stop
          SEVERE&#58; standardHost.stop /acegi&#58; 
          LifecycleException&#58;  Container StandardContext&#91;/acegi&#93; has not been started
                  at org.apache.catalina.core.StandardContext.stop&#40;StandardContext.java&#58;4400&#41;
                  at org.apache.catalina.core.StandardHostDeployer.stop&#40;StandardHostDeployer.java&#58;803&#41;
                  at org.apache.catalina.core.StandardHost.stop&#40;StandardHost.java&#58;1020&#41;
                  at org.apache.catalina.manager.ManagerServlet.stop&#40;ManagerServlet.java&#58;1377&#41;
                  at org.apache.catalina.manager.ManagerServlet.doGet&#40;ManagerServlet.java&#58;394&#41;
                  at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;743&#41;
                  at javax.servlet.http.HttpServlet.service&#40;HttpServlet.java&#58;856&#41;
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;284&#41;
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;204&#41;
                  at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter&#40;MonitorFilter.java&#58;131&#41;
                  at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter&#40;ApplicationFilterChain.java&#58;233&#41;
                  at org.apache.catalina.core.ApplicationFilterChain.doFilter&#40;ApplicationFilterChain.java&#58;204&#41;
                  at org.apache.catalina.core.StandardWrapperValve.invoke&#40;StandardWrapperValve.java&#58;257&#41;
                  at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;151&#41;
                  at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;567&#41;
                  at org.apache.catalina.core.StandardContextValve.invokeInternal&#40;StandardContextValve.java&#58;245&#41;
                  at org.apache.catalina.core.StandardContextValve.invoke&#40;StandardContextValve.java&#58;199&#41;
                  at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;151&#41;
                  at org.apache.catalina.authenticator.AuthenticatorBase.invoke&#40;AuthenticatorBase.java&#58;587&#41;
                  at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;149&#41;
                  at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;567&#41;
                  at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;184&#41;
                  at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;151&#41;
                  at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;164&#41;
                  at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;149&#41;
                  at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;567&#41;
                  at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;156&#41;
                  at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;151&#41;
                  at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;567&#41;
                  at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;972&#41;
                  at org.apache.coyote.tomcat5.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;206&#41;
                  at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;833&#41;
                  at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;732&#41;
                  at org.apache.tomcat.util.net.TcpWorkerThread.runIt&#40;PoolTcpEndpoint.java&#58;619&#41;
                  at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;688&#41;
                  at java.lang.Thread.run&#40;Thread.java&#58;534&#41;
          Oct 20, 2004 9&#58;48&#58;38 AM org.apache.catalina.core.StandardHostDeployer start
          INFO&#58; standardHost.start /acegi
          Oct 20, 2004 9&#58;48&#58;38 AM org.apache.catalina.core.StandardContext start
          SEVERE&#58; Error filterStart
          Oct 20, 2004 9&#58;48&#58;38 AM org.apache.catalina.core.StandardContext start
          SEVERE&#58; Context startup failed due to previous errors

          Comment


          • #6
            My web.xml:

            Code:
            <?xml version="1.0" encoding="ISO-8859-1"?>
            
            <!DOCTYPE web-app
              PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
              "http&#58;//java.sun.com/j2ee/dtds/web-app_2_2.dtd">
            
            <web-app>
              <display-name>Struts Spring Hibernate</display-name>
              
              <context-param>
            	<param-name>contextConfigLocation</param-name> 
            	<param-value>/WEB-INF/applicationContext-hibernate.xml</param-value> 
              </context-param>
              
               <filter>
                    <filter-name>Acegi Channel Processing Filter</filter-name>
                    <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                    <init-param>
                        <param-name>targetClass</param-name>
                        <param-value>net.sf.acegisecurity.securechannel.ChannelProcessingFilter</param-value>
                    </init-param>
                </filter>
            
                <filter>
                    <filter-name>Acegi Authentication Processing Filter</filter-name>
                    <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                    <init-param>
                        <param-name>targetClass</param-name>
                        <param-value>net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter</param-value>
                    </init-param>
                </filter>
            
                <filter>
                    <filter-name>Acegi HTTP BASIC Authorization Filter</filter-name>
                    <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                    <init-param>
                        <param-name>targetClass</param-name>
                        <param-value>net.sf.acegisecurity.ui.basicauth.BasicProcessingFilter</param-value>
                    </init-param>
                </filter>
            
                <filter>
                    <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
                    <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                    <init-param>
                        <param-name>targetClass</param-name>
                        <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
                    </init-param>
                </filter>
            
                <filter>
                    <filter-name>Acegi HTTP Request Security Filter</filter-name>
                    <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                    <init-param>
                        <param-name>targetClass</param-name>
                        <param-value>net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter</param-value>
                    </init-param>
                </filter>
            	
            	<!-- Remove the comments from the following <filter-mapping> if you'd
            	     like to ensure secure URLs are only available over HTTPS -->
                <!--
                <filter-mapping>
                  <filter-name>Acegi Channel Processing Filter</filter-name>
                  <url-pattern>/*</url-pattern>
                </filter-mapping>
                -->
            	
                <filter-mapping>
                  <filter-name>Acegi Authentication Processing Filter</filter-name>
                  <url-pattern>/*</url-pattern>
                </filter-mapping>
            
                <filter-mapping>
                  <filter-name>Acegi HTTP BASIC Authorization Filter</filter-name>
                  <url-pattern>/*</url-pattern>
                </filter-mapping>
            
                <filter-mapping>
                  <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
                  <url-pattern>/*</url-pattern>
                </filter-mapping>
                
                <filter-mapping>
                  <filter-name>Acegi HTTP Request Security Filter</filter-name>
                  <url-pattern>/*</url-pattern>
                </filter-mapping>
            
              <servlet>
            	<servlet-name>proxool</servlet-name>
            	<servlet-class>org.logicalcobwebs.proxool.admin.servlet.AdminServlet</servlet-class>
              </servlet>
             
              <!-- Standard Action Servlet Configuration &#40;with debugging&#41; -->
              <servlet>
                <servlet-name>action</servlet-name>
                <servlet-class>org.apache.struts.action.ActionServlet</servlet-class>
                <init-param>
                  <param-name>config</param-name>
                  <param-value>/WEB-INF/struts-config.xml</param-value>
                </init-param>
            	<init-param>
                  <param-name>debug</param-name>
                  <param-value>2</param-value>
                </init-param>
                <init-param>
                  <param-name>detail</param-name>
                  <param-value>2</param-value>
                </init-param>
                <load-on-startup>2</load-on-startup>
              </servlet>
            	
              <!-- Action Servlet Mapping -->
              <servlet-mapping>
                <servlet-name>action</servlet-name>
                <url-pattern>*.do</url-pattern>
              </servlet-mapping>
              
              <servlet-mapping>
            	<servlet-name>proxool</servlet-name>
            	<url-pattern>/proxool</url-pattern>
              </servlet-mapping>
            
            
              <!-- The Usual Welcome File List -->
              <welcome-file-list>
                <welcome-file>index.jsp</welcome-file>
              </welcome-file-list>
            
            
              <!-- Struts Tag Library Descriptors -->
              <taglib>
                <taglib-uri>/tags/struts-bean</taglib-uri>
                <taglib-location>/WEB-INF/tags/struts-bean.tld</taglib-location>
              </taglib>
            
              <taglib>
                <taglib-uri>/tags/struts-html</taglib-uri>
                <taglib-location>/WEB-INF/tags/struts-html.tld</taglib-location>
              </taglib>
            
              <taglib>
                <taglib-uri>/tags/struts-logic</taglib-uri>
                <taglib-location>/WEB-INF/tags/struts-logic.tld</taglib-location>
              </taglib>
              
              <taglib>
            	<taglib-uri>/tags/struts-tiles</taglib-uri>
            	<tablib-location>/WEB-INF/tags/struts-tiles.tld</tablib-location>
              </taglib>
              
              <taglib>
            	<taglib-uri>/tags/c</taglib-uri>
            	<tablib-location>/WEB-INF/tags/c.tld</tablib-location>
              </taglib>
               
               
            </web-app>

            Comment


            • #7
              It seems to work if I place:

              Code:
              filter>
                      <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
                      <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                      <init-param>
                          <param-name>targetClass</param-name>
                          <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
                      </init-param>
                  </filter>
              on top!! Above the other filters.

              Comment


              • #8
                Where abouts is your:
                Code:
                	<listener>
                		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
                	</listener>
                This is needed as Acegi Security's FilterToProxyBean uses WebApplicationContextUtils.getWebApplicationContex t(servletContext) to load the filters.

                Comment


                • #9
                  I know I know.

                  But that wasn't is. (Mayby is was, but...) Fixed it allready!

                  Thanx!!

                  Comment


                  • #10
                    modifying web.xml of Spring tutorial with Acegi quickstart

                    I am adding Acegi security to an example Spring application. My web.xml lis provided below.

                    When I start Tomcat ( 5.0.18 ) I get the error below the web.xml example. Any other errors later in the tomcat log relate to
                    Could not open resource [/WEB-INF/applicationContext.xml]
                    . The name of my spring xml file is not
                    applicationContext.xml
                    and the tutorial does not go in to this topic any. I see in an earlier post you asked about the listener as well. It may be that my unfamiliarity with Spring is where I'm tripping up, but if anyone has any suggestions that would be great. We are hoping Acegi with Spring and using CAS will be the best direction for us to move with our applications.

                    Code:
                    <?xml version="1.0" encoding="UTF-8"?>
                    <!DOCTYPE web-app PUBLIC '-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN' 'http&#58;//java.sun.com/dtd/web-app_2_3.dtd'>
                    
                    <web-app>
                    
                      <context-param>
                      	<param-name>contextConfigLocation</param-name>
                      	<param-value>/WEB-INF/springapp-servlet.xml</param-value>
                      </context-param>
                    
                      <servlet>
                        <servlet-name>springapp</servlet-name>
                        <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
                        <load-on-startup>1</load-on-startup>
                      </servlet>
                    
                      <servlet-mapping>
                        <servlet-name>springapp</servlet-name>
                        <url-pattern>*.htm</url-pattern>
                      </servlet-mapping>
                    
                      <welcome-file-list>
                        <welcome-file>
                          acegilogin.jsp
                        </welcome-file>
                      </welcome-file-list>
                    
                      <taglib>
                        <taglib-uri>/spring</taglib-uri>
                        <taglib-location>/WEB-INF/spring.tld</taglib-location>
                      </taglib>
                      
                      <listener>
                      	<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
                      </listener>
                      
                      <filter>
                            <filter-name>Acegi Authentication Processing Filter</filter-name>
                            <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                            <init-param>
                                <param-name>targetClass</param-name>
                                <param-value>net.sf.acegisecurity.ui.webapp.AuthenticationProcessingFilter</param-value>
                            </init-param>
                        </filter>
                    
                        <filter>
                            <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
                            <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                            <init-param>
                                <param-name>targetClass</param-name>
                                <param-value>net.sf.acegisecurity.ui.AutoIntegrationFilter</param-value>
                            </init-param>
                        </filter>
                    
                        <filter>
                            <filter-name>Acegi HTTP Request Security Filter</filter-name>
                            <filter-class>net.sf.acegisecurity.util.FilterToBeanProxy</filter-class>
                            <init-param>
                                <param-name>targetClass</param-name>
                                <param-value>net.sf.acegisecurity.intercept.web.SecurityEnforcementFilter</param-value>
                            </init-param>
                        </filter>
                    	
                        <filter-mapping>
                          <filter-name>Acegi Authentication Processing Filter</filter-name>
                          <url-pattern>/*</url-pattern>
                        </filter-mapping>
                    
                        <filter-mapping>
                          <filter-name>Acegi Security System for Spring Auto Integration Filter</filter-name>
                          <url-pattern>/*</url-pattern>
                        </filter-mapping>
                        
                        <filter-mapping>
                          <filter-name>Acegi HTTP Request Security Filter</filter-name>
                          <url-pattern>/*</url-pattern>
                        </filter-mapping>
                    
                    </web-app>
                    Code:
                    2004-10-25 16&#58;06&#58;10 StandardContext&#91;/acegi-test&#93;Loading root WebApplicationContext
                    2004-10-25 16&#58;06&#58;10 StandardContext&#91;/acegi-test&#93;Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener
                    org.springframework.beans.factory.BeanDefinitionStoreException&#58; Error registering bean with name 'userCache' defined in resource &#91;/WEB-INF/applicationContext.xml&#93; of ServletContext&#58; Class that bean class &#91;net.sf.acegisecurity.providers.dao.cache.EhCacheBasedUserCache&#93; depends on not found; nested exception is java.lang.NoClassDefFoundError&#58; net/sf/ehcache/CacheException
                    java.lang.NoClassDefFoundError&#58; net/sf/ehcache/CacheException
                    	at java.lang.Class.forName0&#40;Native Method&#41;
                    	at java.lang.Class.forName&#40;Class.java&#58;219&#41;
                    	at org.springframework.beans.factory.support.BeanDefinitionReaderUtils.createBeanDefinition&#40;BeanDefinitionReaderUtils.java&#58;50&#41;
                    	at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinition&#40;DefaultXmlBeanDefinitionParser.java&#58;303&#41;
                    	at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.parseBeanDefinition&#40;DefaultXmlBeanDefinitionParser.java&#58;263&#41;
                    	at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinition&#40;DefaultXmlBeanDefinitionParser.java&#58;229&#41;
                    	at org.springframework.beans.factory.xml.DefaultXmlBeanDefinitionParser.registerBeanDefinitions&#40;DefaultXmlBeanDefinitionParser.java&#58;180&#41;
                    	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions&#40;XmlBeanDefinitionReader.java&#58;164&#41;
                    	at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions&#40;XmlBeanDefinitionReader.java&#58;128&#41;
                    	at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions&#40;AbstractXmlApplicationContext.java&#58;124&#41;
                    	at org.springframework.context.support.AbstractXmlApplicationContext.refreshBeanFactory&#40;AbstractXmlApplicationContext.java&#58;64&#41;
                    	at org.springframework.context.support.AbstractApplicationContext.refresh&#40;AbstractApplicationContext.java&#58;239&#41;
                    	at org.springframework.web.context.support.XmlWebApplicationContext.refresh&#40;XmlWebApplicationContext.java&#58;131&#41;
                    	at org.springframework.web.context.ContextLoader.createWebApplicationContext&#40;ContextLoader.java&#58;156&#41;
                    	at org.springframework.web.context.ContextLoader.initWebApplicationContext&#40;ContextLoader.java&#58;97&#41;
                    	at org.springframework.web.context.ContextLoaderListener.contextInitialized&#40;ContextLoaderListener.java&#58;48&#41;
                    	at org.apache.catalina.core.StandardContext.listenerStart&#40;StandardContext.java&#58;3775&#41;
                    	at org.apache.catalina.core.StandardContext.start&#40;StandardContext.java&#58;4269&#41;
                    	at org.apache.catalina.core.ContainerBase.addChildInternal&#40;ContainerBase.java&#58;866&#41;
                    	at org.apache.catalina.core.ContainerBase.addChild&#40;ContainerBase.java&#58;850&#41;
                    	at org.apache.catalina.core.StandardHost.addChild&#40;StandardHost.java&#58;638&#41;
                    	at org.apache.catalina.core.StandardHostDeployer.addChild&#40;StandardHostDeployer.java&#58;840&#41;
                    	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
                    	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;39&#41;
                    	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;25&#41;
                    	at java.lang.reflect.Method.invoke&#40;Method.java&#58;324&#41;
                    	at org.apache.commons.beanutils.MethodUtils.invokeMethod&#40;MethodUtils.java&#58;252&#41;
                    	at org.apache.commons.digester.SetNextRule.end&#40;SetNextRule.java&#58;256&#41;
                    	at org.apache.commons.digester.Rule.end&#40;Rule.java&#58;276&#41;
                    	at org.apache.commons.digester.Digester.endElement&#40;Digester.java&#58;1058&#41;
                    	at org.apache.catalina.util.CatalinaDigester.endElement&#40;CatalinaDigester.java&#58;123&#41;
                    	at org.apache.xerces.parsers.AbstractSAXParser.endElement&#40;Unknown Source&#41;
                    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanEndElement&#40;Unknown Source&#41;
                    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch&#40;Unknown Source&#41;
                    	at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument&#40;Unknown Source&#41;
                    	at org.apache.xerces.parsers.XML11Configuration.parse&#40;Unknown Source&#41;
                    	at org.apache.xerces.parsers.XML11Configuration.parse&#40;Unknown Source&#41;
                    	at org.apache.xerces.parsers.XMLParser.parse&#40;Unknown Source&#41;
                    	at org.apache.xerces.parsers.AbstractSAXParser.parse&#40;Unknown Source&#41;
                    	at org.apache.commons.digester.Digester.parse&#40;Digester.java&#58;1567&#41;
                    	at org.apache.catalina.core.StandardHostDeployer.install&#40;StandardHostDeployer.java&#58;520&#41;
                    	at org.apache.catalina.core.StandardHost.install&#40;StandardHost.java&#58;906&#41;
                    	at org.apache.catalina.startup.HostConfig.deployDescriptors&#40;HostConfig.java&#58;527&#41;
                    	at org.apache.catalina.startup.HostConfig.deployApps&#40;HostConfig.java&#58;472&#41;
                    	at org.apache.catalina.startup.HostConfig.start&#40;HostConfig.java&#58;1008&#41;
                    	at org.apache.catalina.startup.HostConfig.lifecycleEvent&#40;HostConfig.java&#58;394&#41;
                    	at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent&#40;LifecycleSupport.java&#58;166&#41;
                    	at org.apache.catalina.core.ContainerBase.start&#40;ContainerBase.java&#58;1133&#41;
                    	at org.apache.catalina.core.StandardHost.start&#40;StandardHost.java&#58;832&#41;
                    	at org.apache.catalina.core.ContainerBase.start&#40;ContainerBase.java&#58;1125&#41;
                    	at org.apache.catalina.core.StandardEngine.start&#40;StandardEngine.java&#58;518&#41;
                    	at org.apache.catalina.core.StandardService.start&#40;StandardService.java&#58;519&#41;
                    	at org.apache.catalina.core.StandardServer.start&#40;StandardServer.java&#58;2345&#41;
                    	at org.apache.catalina.startup.Catalina.start&#40;Catalina.java&#58;598&#41;
                    	at sun.reflect.NativeMethodAccessorImpl.invoke0&#40;Native Method&#41;
                    	at sun.reflect.NativeMethodAccessorImpl.invoke&#40;NativeMethodAccessorImpl.java&#58;39&#41;
                    	at sun.reflect.DelegatingMethodAccessorImpl.invoke&#40;DelegatingMethodAccessorImpl.java&#58;25&#41;
                    	at java.lang.reflect.Method.invoke&#40;Method.java&#58;324&#41;
                    	at org.apache.catalina.startup.Bootstrap.start&#40;Bootstrap.java&#58;297&#41;
                    	at org.apache.catalina.startup.Bootstrap.main&#40;Bootstrap.java&#58;398&#41;

                    Comment


                    • #11
                      Looks to me like you're missing ehcache.jar from your WEB-INF/lib directory.

                      Comment


                      • #12
                        First of all, regarding the error you have about cannot open the applicationContext.xml... check that you have it referenced under the right place. To do this, check your build.xml and also under the webapps directory after it has been exploded. Most likely it's not there.


                        Regarding the stack trace dump that you have about the EhCaching, you need to drop the EhCache.jar into your classpath for the build.

                        Comment

                        Working...
                        X