Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Spring mvc MVC控制器和Web流控制器-请求处理优先级_Spring Mvc_Spring Webflow - Fatal编程技术网

Spring mvc MVC控制器和Web流控制器-请求处理优先级

Spring 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-

我正在将SpringWebFlow集成到SpringMVCWeb应用程序中

我将Spring
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>