Spring mvc MVC控制器和Web流控制器-请求处理优先级
我正在将SpringWebFlow集成到SpringMVCWeb应用程序中 我将SpringSpring mvc MVC控制器和Web流控制器-请求处理优先级,spring-mvc,spring-webflow,Spring Mvc,Spring Webflow,我正在将SpringWebFlow集成到SpringMVCWeb应用程序中 我将SpringDispatcherServlet映射到*.html,如下所示 <servlet-mapping> <servlet-name>spring</servlet-name> <url-pattern>*.html</url-pattern> </servlet-mapping> 我将/simple.html(/WEB-
DispatcherServlet
映射到*.html
,如下所示
<servlet-mapping>
<servlet-name>spring</servlet-name>
<url-pattern>*.html</url-pattern>
</servlet-mapping>
我将/simple.html
(/WEB-INF/pages/simple.jsp
)映射到我的MVC控制器
@Controller
public class SimpleController {
@RequestMapping("/simple.html")
public String simpleHandler(Model model) {
return "simple";
}
}
当我请求
simple.html
时,SimpleController
获取该请求,但当我删除到该控制器的映射时,simple.html
导致simple
流。我看到MVC控制器具有更高的优先级,并且在到达流控制器之前获取请求。结果是什么?在这种情况下它是如何工作的?我可以更改普通MVC控制器和Web Flow控制器的请求处理顺序/优先级吗?我已经使用顺序
属性进行了更改。默认设置为0
,MVC控制器在flow controller之前处理请求。我将order设置为-1
,现在流控制器在请求到达我的MVC控制器之前处理请求。这是个好办法吗
<!-- Handle request after MVC controllers -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
<property name="flowRegistry" ref="flowRegistry"/>
<property name="order" value="0"/>
</bean>
<!-- Handle request BEFORE MVC controllers -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
<property name="flowRegistry" ref="flowRegistry"/>
<property name="order" value="-1"/>
</bean>
您看到了吗?是的,我有相同的配置。所以
<!-- Handle request after MVC controllers -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
<property name="flowRegistry" ref="flowRegistry"/>
<property name="order" value="0"/>
</bean>
<!-- Handle request BEFORE MVC controllers -->
<bean class="org.springframework.webflow.mvc.servlet.FlowHandlerMapping">
<property name="flowRegistry" ref="flowRegistry"/>
<property name="order" value="-1"/>
</bean>