开发者社区> 问答> 正文

Spring web flow 的配置出错问题:配置报错 

下面是我的配置。。不知道为什么老报错。。求大侠指教 springmvc-servlet.xml

<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd"> <context:component-scan base-package="com.soft.console.controller" use-default-filters="false"> <context:include-filter type="annotation" expression="org.springframework.stereotype.Controller"/> </context:component-scan> <!--启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"/>

<!-- 缺省的url-bean映射方式 
	<bean id="defaultHandlerMapping" class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping">
		<property name="order" value="0"/>
	</bean>-->
<bean id="viewMappings" class="org.springframework.web.servlet.handler.SimpleUrlHandlerMapping"> 
	<!-- /shopping.do 请求由 flowController 来处理 -->     
	<property name="mappings">     
		<value> /shopping.htm=flowController </value>   
	</property>
	<property name="defaultHandler">   <!-- UrlFilenameViewController 会将 "/index" 这样的请求映射成名为 "index" 的视图 -->     
		<bean class="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>   
	</property>  
</bean>

<bean id="flowController" class="org.springframework.webflow.mvc.servlet.FlowController">   
	<property name="flowExecutor" ref="flowExecutor"/>    
</bean>

<bean id="hessianHandler" class="org.springframework.web.servlet.mvc.HttpRequestHandlerAdapter"></bean>
<!-- 第二种:velocity模板配置 -->
<!-- InternalResourceViewResolver会在ModelAndView返回的视图名前加上prefix指定的前缀,再在最后加上suffix指定的后缀 -->  
<!-- 由于UserController返回的ModelAndView中的视图名是userlist,故该视图解析器将在/WEB-INF/jsp/userlist.jsp处查找视图 -->  
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">  
	<property name="viewClass"  value="org.springframework.web.servlet.view.JstlView"/>
	<property name="prefix" value="resource/"/>  
	<property name="suffix" value=".jsp"/>  
</bean>

</beans>

springwebflot-servlet.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:webflow="http://www.springframework.org/schema/webflow-config"
xsi:schemaLocation=" http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/webflow-config
http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd">
<webflow:flow-executor id="flowExecutor"/> <!--所有 flow 定义文件位置在此配置, flow-builder-services 用于配置 flow 的特性--> <webflow:flow-registry id="flowRegistry" flow-builder-services="flowBuilderServices">
<webflow:flow-location path="flows/shopping.xml" id="shopping"/> </webflow:flow-registry> <!--Web Flow 中的视图通过 MVC 框架的视图技术来呈现 --> <webflow:flow-builder-services id="flowBuilderServices" view-factory-creator="mvcViewFactoryCreator"/> <!--指明 MVC 框架的 view resolver ,用于通过 view 名查找资源 --> <bean id="mvcViewFactoryCreator" class="org.springframework.webflow.mvc.builder.MvcViewFactoryCreator"> <property name="viewResolvers" ref="viewResolver"/> </bean> </beans>
我在applicationContext.xml中已经加入springwebflot-servlet.xml了
下面是我的目录
我启动时正常,在index页面里面写了<h1>Hello!</h1><br/> <a href="shopping.htm">View Cart</a>
启动正常。。。。
运行之后报错:
2013-1-23 14:01:15 org.apache.catalina.core.StandardWrapperValve invoke 严重: Servlet.service() for servlet [springmvc] in context with path [/DbUtils] threw exception [No adapter for handler [org.springframework.web.servlet.mvc.UrlFilenameViewController@1f12af8]: Does your handler implement a supported interface like Controller?] with root cause javax.servlet.ServletException: No adapter for handler [org.springframework.web.servlet.mvc.UrlFilenameViewController@1f12af8]: Does your handler implement a supported interface like Controller? at org.springframework.web.servlet.DispatcherServlet.getHandlerAdapter(DispatcherServlet.java:1100) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:893) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:778) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:76) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:224) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:928) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:987) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:539) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:300) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619)

展开
收起
kun坤 2020-06-03 14:52:03 658 0
1 条回答
写回答
取消 提交回答
  • 这个不是web flow的问题,是mvc的问题 太久没有弄这个,只对比了一下我以前的配置,你少了: <bean class="org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter"/> 多了:

    <propertyname="defaultHandler">   <!-- UrlFilenameViewController 会将 "/index" 这样的请求映射成名为 "index" 的视图 -->    
    25             <beanclass="org.springframework.web.servlet.mvc.UrlFilenameViewController"/>  
    26         </property>
    2020-06-03 17:50:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载