Announcement Announcement Module
Collapse
No announcement yet.
The requested resource is not available Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • The requested resource is not available

    I'm having trouble properly configuring my app's web interface. Here are my configuration files:

    applicationContext.xml
    Code:
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http&#58;//www.springframework.org/dtd/spring-beans.dtd">
    
    <beans>
    
    	<bean id="dataSource" class="org.springframework.jdbc.datasource.DriverManagerDataSource">
    		<property name="driverClassName"><value>org.postgresql.Driver</value></property>
    		<property name="url"><value>jdbc&#58;postgresql&#58;//localhost&#58;5432/QUOTESCAPE</value></property>
    		<property name="username"><value>postgres</value></property>
    		<property name="password"><value>postgres</value></property>
    	</bean>
    
    	<bean id="sessionFactory" class="org.springframework.orm.hibernate.LocalSessionFactoryBean">
    		<property name="dataSource"><ref local="dataSource"/></property>
    		<property name="configLocation">
    			<value>classpath&#58;/hibernate.cfg.xml</value>
    		</property>
    		<property name="hibernateProperties">
    			<props>
    				<prop key="hibernate.dialect">net.sf.hibernate.dialect.PostgreSQLDialect</prop>
    				<prop key="hibernate.show_sql">true</prop>
    			</props>
    		</property>
    	</bean>
    
    	<bean id="transactionManager" class="org.springframework.orm.hibernate.HibernateTransactionManager">
    		<property name="sessionFactory"><ref local="sessionFactory"/></property>
    	</bean>
    
    	<bean id="quoteScapeBusinessTarget" class="com.quotescape.domain.logic.QuoteScapeImpl">
    		<property name="categoryDao"><ref bean="categoryDao"/></property>
    		<property name="quoteDao"><ref bean="quoteDao"/></property>
    		<property name="imageDao"><ref bean="imageDao"/></property>
    	</bean>
    
    	<!-- 
    		QuoteScape primary business object.
    	-->
    	<bean id="quoteScapeBusiness" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
    		<property name="transactionManager"><ref local="transactionManager"/></property>
    		<property name="target"><ref local="quoteScapeBusinessTarget"/></property>
    		<property name="transactionAttributes">
    			<props>
    				<prop key="*">PROPAGATION_REQUIRED</prop>
    			</props>
    		</property>
    	</bean>
    	
    	<bean id="categoryDao" class="com.quotescape.dao.hibernate.HibernateCategoryDao">
    		<property name="sessionFactory"><ref local="sessionFactory"/></property>
    	</bean>
    	
    	<bean id="quoteDao" class="com.quotescape.dao.hibernate.HibernateQuoteDao">
    		<property name="sessionFactory"><ref local="sessionFactory"/></property>
    	</bean>
    	
    	<bean id="imageDao" class="com.quotescape.dao.hibernate.HibernateImageDao">
    		<property name="sessionFactory"><ref local="sessionFactory"/></property>
    	</bean>
    </beans>
    quoteScape-servlet.xml:
    Code:
    <?xml version="1.0" encoding="UTF-8" ?>
    <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http&#58;//www.springframework.org/dtd/spring-beans.dtd">
    
    <!--
      - DispatcherServlet application context for QuoteScape.
    	-->
    <beans>
    
    	<!-- Configurer that sets up a VelocityEngine for Velocity views -->
    	<bean id="velocityConfigurer" class="org.springframework.web.servlet.view.velocity.VelocityConfigurer">
    		<property name="resourceLoaderPath"><value>WEB-INF/views/</value></property>
    	</bean>
    
    	<!-- Simple ViewResolver for Velocity, appending ".vm" to logical view names -->
    	<bean id="viewResolver" class="org.springframework.web.servlet.view.velocity.VelocityViewResolver">
    		<property name="suffix"><value>.vm</value></property>
    	</bean>
    
    	<!-- HandlerMapping that dispatches all request to the MultiActionController below -->
    	<bean id="handlerMapping" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping">
    		<property name="defaultHandler"><ref local="quoteScapeController"/></property>
    	</bean>
    
    	<!-- MultiActionController that defines user interface actions as separate methods -->
    	<bean id="quoteScapeController" class="com.quotescape.web.QuoteScapeController">
    		<property name="methodNameResolver"><ref local="quoteScapeControllerResolver"/></property>
    		<property name="quoteScape"><ref bean="quoteScapeBusiness"/></property>
    	</bean>
    
    	<!-- Method resolution strategy for the MultiActionController above -->
    	<bean id="quoteScapeControllerResolver" class="org.springframework.web.servlet.mvc.multiaction.PropertiesMethodNameResolver">
    		<property name="mappings">
    			<props>
    				<prop key="/categoryList">showCategoryList</prop>
    			</props>
    		</property>
    	</bean>
    
    </beans>
    web.xml:
    Code:
    <?xml version="1.0" encoding="ISO-8859-1"?>
    
    <!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>
    
    	<display-name>QuoteScape Enterprise Manager</display-name>
    
    	<description>Interface for managing the QuoteScape enterprise.</description>
    
    	<!--
    	  - Location of the XML file that defines the root application context.
    	  - Applied by ContextLoaderServlet.
    	  -->
    	<context-param>
    		<param-name>contextConfigLocation</param-name>
    		<param-value>/WEB-INF/applicationContext.xml</param-value>
    	</context-param>
    
    	<!--
    	  - Loads the root application context of this web app at startup,
    	  - by default from "/WEB-INF/applicationContext.xml".
    		- Note that it is preferable to use ContextLoaderListener in a servlet container
    		- that follows the Servlet 2.4 initialization order &#40;most Servlet 2.3 containers do&#41;.
    		-
    	  - Use WebApplicationContextUtils.getWebApplicationContext&#40;servletContext&#41;
    	  - to access it anywhere in the web application, outside of the framework.
    	  -
    	  - The root context is the parent of all servlet-specific contexts.
    	  - This means that its beans are automatically available in these child contexts,
    	  - both for getBean&#40;name&#41; calls and &#40;external&#41; bean references.
        -->
    	<servlet>
    		<servlet-name>context</servlet-name>
    		<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
    
    	<!--
    	  - Spring web MVC servlet that dispatches request to registered handlers.
    	  - Has its own application context, by default defined in "&#123;servlet-name&#125;-servlet.xml",
    	  - i.e. "quoteScape-servlet.xml" in this case.
    	  -
    	  - A web app can contain any number of such servlets.
    	  - Note that this web app has a shared root application context, serving as parent
    	  - of all DispatcherServlet contexts.
    	  -->
    	<servlet>
    		<servlet-name>quoteScape</servlet-name>
    		<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    		<load-on-startup>2</load-on-startup>
    	</servlet>
    
    	<!--
    		- Dispatcher servlet mapping for the web user interface,
    		- refering to the "quotescape" servlet above.
    		-->
    	<servlet-mapping>
    		<servlet-name>quoteScape</servlet-name>
    		<url-pattern>/quotescape/*</url-pattern>
    	</servlet-mapping>
    
    	<welcome-file-list>
    		<welcome-file>index.html</welcome-file>
    	</welcome-file-list>
    
    </web-app>
    I drop the war file into my Tomcat 5.0.28 webapps folder and see in the console that the web app was configured successfully. I can bring up the index.html page in the browser, but when I try to bring up quotescape/categoryList, I get an error message:
    The requested resource (/quotescape/categoryList) is not available.


    Also, it may help if I include my controller class:
    Code:
    /*
     * Created on Nov 7, 2004
     */
    package com.quotescape.web;
    
    import com.quotescape.domain.logic.QuoteScapeFacade;
    
    import org.springframework.beans.factory.InitializingBean;
    
    import org.springframework.context.ApplicationContextException;
    
    import org.springframework.web.servlet.ModelAndView;
    
    import org.springframework.web.servlet.mvc.multiaction.MultiActionController;
    
    /**
     * Primary controller for QuoteScape's web interface.
     * @author Mike Lenyon
     */
    public class QuoteScapeController extends MultiActionController implements InitializingBean &#123;
    
    	/** Holds value of property quoteScape. */
    	private QuoteScapeFacade quoteScape;
    
    	/** Setter for property quoteScape.
    	 * @param quoteScape New value of property quoteScape.
    	 */
    	public void setQuoteScape&#40;QuoteScapeFacade quoteScape&#41; &#123;
    		this.quoteScape = quoteScape;
    	&#125;
    
    	public void afterPropertiesSet&#40;&#41; throws Exception &#123;
    		if &#40;quoteScape == null&#41;
    			throw new ApplicationContextException&#40;"Must set quoteScape bean property on " + getClass&#40;&#41;&#41;;
    	&#125;
    	
    	public ModelAndView showCategoryList&#40;&#41; &#123;
    	  return new ModelAndView&#40;"categoryList", "categories", this.quoteScape.getAllCategories&#40;&#41;&#41;;
    	&#125;
    &#125;
    What am I doing wrong?

    TIA,
    TTT

  • #2
    It appears that your showCatagoryList method is not of the expected signature. It should rather be
    Code:
    public ModelAndView showCategoryList&#40;HttpServletRequest request, HttpServletResponse response&#41;
    HTH

    Olivier

    Comment


    • #3
      Oliver, thanks for your response. I made the change you suggested, and, clearly, it's a necessary change.

      However, it seems that there's still something wrong, because I'm still getting the same error:
      The requested resource (/quotescape/categoryList) is not available.

      Any other ideas? Anyone?

      TIA,
      TTT

      Comment


      • #4
        You probably have a stack trace somewhere (log4j or container logs) which could hint us at finding the issue. check logs directory for catalina.out and localhost*.txt and please dump the relevant part.

        Olivier

        Comment


        • #5
          I ran it under JBoss 4. Here's the log output:
          Code:
          2004-11-14 14&#58;55&#58;29,958 DEBUG &#91;org.jboss.deployment.MainDeployer&#93; Deployed package&#58; file&#58;/C&#58;/jboss-4.0.0RC2/server/default/deploy/quotescape.war
          2004-11-14 14&#58;55&#58;39,208 DEBUG &#91;org.jboss.web.tomcat.security.SecurityAssociationValve&#93; Failed to determine servlet
          java.lang.NullPointerException
          	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke&#40;SecurityAssociationValve.java&#58;115&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;137&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;118&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke&#40;CachedConnectionValve.java&#58;122&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;109&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;929&#41;
          	at org.apache.coyote.tomcat5.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;160&#41;
          	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;799&#41;
          	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;705&#41;
          	at org.apache.tomcat.util.net.TcpWorkerThread.runIt&#40;PoolTcpEndpoint.java&#58;577&#41;
          	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;683&#41;
          	at java.lang.Thread.run&#40;Thread.java&#58;534&#41;
          2004-11-14 14&#58;55&#58;45,411 DEBUG &#91;org.jboss.web.tomcat.security.SecurityAssociationValve&#93; Failed to determine servlet
          java.lang.NullPointerException
          	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke&#40;SecurityAssociationValve.java&#58;115&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;137&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;118&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke&#40;CachedConnectionValve.java&#58;122&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;109&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;929&#41;
          	at org.apache.coyote.tomcat5.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;160&#41;
          	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;799&#41;
          	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;705&#41;
          	at org.apache.tomcat.util.net.TcpWorkerThread.runIt&#40;PoolTcpEndpoint.java&#58;577&#41;
          	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;683&#41;
          	at java.lang.Thread.run&#40;Thread.java&#58;534&#41;
          2004-11-14 14&#58;55&#58;50,036 DEBUG &#91;org.jboss.web.tomcat.security.SecurityAssociationValve&#93; Failed to determine servlet
          java.lang.NullPointerException
          	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke&#40;SecurityAssociationValve.java&#58;115&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardHostValve.invoke&#40;StandardHostValve.java&#58;137&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.valves.ErrorReportValve.invoke&#40;ErrorReportValve.java&#58;118&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.jboss.web.tomcat.tc5.jca.CachedConnectionValve.invoke&#40;CachedConnectionValve.java&#58;122&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;102&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.StandardEngineValve.invoke&#40;StandardEngineValve.java&#58;109&#41;
          	at org.apache.catalina.core.StandardValveContext.invokeNext&#40;StandardValveContext.java&#58;104&#41;
          	at org.apache.catalina.core.StandardPipeline.invoke&#40;StandardPipeline.java&#58;520&#41;
          	at org.apache.catalina.core.ContainerBase.invoke&#40;ContainerBase.java&#58;929&#41;
          	at org.apache.coyote.tomcat5.CoyoteAdapter.service&#40;CoyoteAdapter.java&#58;160&#41;
          	at org.apache.coyote.http11.Http11Processor.process&#40;Http11Processor.java&#58;799&#41;
          	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection&#40;Http11Protocol.java&#58;705&#41;
          	at org.apache.tomcat.util.net.TcpWorkerThread.runIt&#40;PoolTcpEndpoint.java&#58;577&#41;
          	at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run&#40;ThreadPool.java&#58;683&#41;
          	at java.lang.Thread.run&#40;Thread.java&#58;534&#41;
          TIA,
          TTT

          Comment


          • #6
            It seems like the problem may not be spring related.
            Do you have any log which shows that spring servlet were correctly created ? If so, the servlet should be ready to serve requests and since your mapping seems fine, jboss/catalina should have forwarded your request to the front dispatcher servlet.
            We'll see in the log if it's a problem in spring initialisation (in which case we'll have another stack trace to analyze) or not and then you'll have to check with jboss.

            Olivier

            Comment


            • #7
              OK...let's rewind and review. The exception that I posted above is irrelevant to this situation. It doesn't happen when I run in Tomcat, so I'll stick to Tomcat to keep from muddying the waters.

              Here are the facts:
              1. The countries sample app runs fine.
              2. The log file shows that my app loads successfully.
              3. In the set method of my controller, I tried an experiment: I tried to access a business facade method. It worked -- Hibernate accessing and all.
              4. I added a log write to the first line of the showCategoryList() method. That method should be invoked when I go to localhost:8080/quotescape/categoryList. Clearly it isn't, since the log write doesn't occur.

              So, Spring is fine. And Tomcat is fine. My app loads successfully. And most of my app's configuration is fine, which is the point of #3 above.

              I think the crux of the problem is the method mapping. Here's some relevant log output about it:
              Code:
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.BeanWrapperImpl&#93; - Invoked write method &#91;public void com.quotescape.web.QuoteScapeController.setQuoteScape&#40;com.quotescape.domain.logic.QuoteScapeFacade&#41;&#93; with value of type &#91;com.quotescape.domain.logic.QuoteScapeFacade&#93;
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Invoking BeanPostProcessors before initialization of bean 'quoteScapeController'
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.context.support.ApplicationContextAwareProcessor&#93; - Invoking setApplicationContext on ApplicationContextAware bean 'quoteScapeController'
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Invoking BeanPostProcessors after initialization of bean 'quoteScapeController'
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.BeanWrapperImpl&#93; - About to invoke write method &#91;public final void org.springframework.web.servlet.handler.AbstractHandlerMapping.setDefaultHandler&#40;java.lang.Object&#41;&#93; on object of class &#91;org.springframework.web.servlet.handler.SimpleUrlHandlerMapping&#93;
              2004-11-15 19&#58;21&#58;50,349 INFO &#91;org.springframework.web.servlet.handler.SimpleUrlHandlerMapping&#93; - Default mapping to handler &#91;com.quotescape.web.QuoteScapeController@b79701&#93;
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.BeanWrapperImpl&#93; - Invoked write method &#91;public final void org.springframework.web.servlet.handler.AbstractHandlerMapping.setDefaultHandler&#40;java.lang.Object&#41;&#93; with value of type &#91;java.lang.Object&#93;
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Invoking BeanPostProcessors before initialization of bean 'handlerMapping'
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.context.support.ApplicationContextAwareProcessor&#93; - Invoking setApplicationContext on ApplicationContextAware bean 'handlerMapping'
              2004-11-15 19&#58;21&#58;50,349 INFO &#91;org.springframework.web.servlet.handler.SimpleUrlHandlerMapping&#93; - Neither 'urlMap' nor 'mappings' set on SimpleUrlHandlerMapping
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Invoking BeanPostProcessors after initialization of bean 'handlerMapping'
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Returning cached instance of singleton bean 'quoteScapeController'
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Returning cached instance of singleton bean 'quoteScapeControllerResolver'
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.web.context.support.XmlWebApplicationContext&#93; - Publishing event in context &#91;XmlWebApplicationContext for namespace 'quoteScape-servlet'&#93;&#58; org.springframework.context.event.ContextRefreshedEvent&#91;source=org.springframework.web.context.support.XmlWebApplicationContext&#58; displayName=&#91;XmlWebApplicationContext for namespace 'quoteScape-servlet'&#93;; startup date=&#91;Mon Nov 15 19&#58;21&#58;46 EST 2004&#93;; parent=&#91;org.springframework.web.context.support.XmlWebApplicationContext&#58; displayName=&#91;Root XmlWebApplicationContext&#93;; startup date=&#91;Mon Nov 15 19&#58;21&#58;34 EST 2004&#93;; root of ApplicationContext hierarchy; config locations=&#91;/WEB-INF/applicationContext.xml&#93;; &#93;; config locations=&#91;/WEB-INF/quoteScape-servlet.xml&#93;; &#93;
              2004-11-15 19&#58;21&#58;50,349 DEBUG &#91;org.springframework.web.context.support.XmlWebApplicationContext&#93; - Publishing event in context &#91;Root XmlWebApplicationContext&#93;&#58; org.springframework.context.event.ContextRefreshedEvent&#91;source=org.springframework.web.context.support.XmlWebApplicationContext&#58; displayName=&#91;XmlWebApplicationContext for namespace 'quoteScape-servlet'&#93;; startup date=&#91;Mon Nov 15 19&#58;21&#58;46 EST 2004&#93;; parent=&#91;org.springframework.web.context.support.XmlWebApplicationContext&#58; displayName=&#91;Root XmlWebApplicationContext&#93;; startup date=&#91;Mon Nov 15 19&#58;21&#58;34 EST 2004&#93;; root of ApplicationContext hierarchy; config locations=&#91;/WEB-INF/applicationContext.xml&#93;; &#93;; config locations=&#91;/WEB-INF/quoteScape-servlet.xml&#93;; &#93;
              2004-11-15 19&#58;21&#58;50,349 INFO &#91;org.springframework.web.servlet.DispatcherServlet&#93; - Using context class 'org.springframework.web.context.support.XmlWebApplicationContext' for servlet 'quoteScape'
              2004-11-15 19&#58;21&#58;50,349 INFO &#91;org.springframework.web.servlet.DispatcherServlet&#93; - Published WebApplicationContext of servlet 'quoteScape' as ServletContext attribute with name &#91;org.springframework.web.servlet.FrameworkServlet.CONTEXT.quoteScape&#93;
              2004-11-15 19&#58;21&#58;50,349 INFO &#91;org.springframework.web.servlet.DispatcherServlet&#93; - Unable to locate MultipartResolver with name &#91;multipartResolver&#93;&#58; no multipart handling provided
              2004-11-15 19&#58;21&#58;50,364 INFO &#91;org.springframework.web.servlet.DispatcherServlet&#93; - Unable to locate LocaleResolver with name 'localeResolver'&#58; using default &#91;[email protected]1adeb7&#93;
              2004-11-15 19&#58;21&#58;50,364 INFO &#91;org.springframework.web.servlet.DispatcherServlet&#93; - Unable to locate ThemeResolver with name 'themeResolver'&#58; using default &#91;org.springframework.web.servlet.theme.FixedThemeResolver@113e8f3&#93;
              2004-11-15 19&#58;21&#58;50,364 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Returning cached instance of singleton bean 'handlerMapping'
              2004-11-15 19&#58;21&#58;50,380 INFO &#91;org.springframework.web.servlet.DispatcherServlet&#93; - No HandlerAdapters found in servlet 'quoteScape'&#58; using default
              2004-11-15 19&#58;21&#58;50,380 DEBUG &#91;org.springframework.beans.factory.support.DefaultListableBeanFactory&#93; - Returning cached instance of singleton bean 'viewResolver'
              I get the feeling that the log snippet above is telling me the reason why my method isn't being invoked, but I'm too new to Spring to understand. Am I missing a method in my controller? Is there a property configuration that I'm missing?

              TIA,
              TTT

              Comment


              • #8
                hmm, it doesn't look like a method resolver issue seeing the log. Still, let's try to change the one you used for one which takes a parameter in the url to choose the method. We'll see if it affects the behaviour...

                Olivier

                Comment


                • #9
                  Oh well.... I've decided to use WebWork 2 as my MVC solution. It's yet another testament to Spring's flexibility.

                  Spring + Hibernate + Webwork + Velocity are a magical combination. My development has been more accelerated, clean, and solid than I've ever experienced in a web project.

                  I've been able to focus all of my attention on my project with very little thought or time given to plumbing.

                  Comment

                  Working...
                  X