spring-mvc - MVC Controller 和 Web Flow Controller - 请求处理优先级

标签 spring-mvc spring-webflow

我正在将 Spring Web Flow 集成到 Spring MVC Web 应用程序中。

我将 Spring DispatcherServlet 映射到 *.html,如下所示。

<servlet-mapping>
    <servlet-name>spring</servlet-name>
    <url-pattern>*.html</url-pattern>
</servlet-mapping>

我已经注册了简单流程(/WEB-INF/flows/simple/simple-flow.xml, /WEB-INF/flows/simple/simple.jsp ) 根据配置获取 simple id。

<webflow:flow-registry id="flowRegistry" base-path="/WEB-INF/flows">
    <webflow:flow-location-pattern value="/**/*-flow.xml" />
</webflow:flow-registry>    

我将 /simple.html (/WEB-INF/pages/simple.jsp) 映射到我的 MVC Controller 。

@Controller
public class SimpleController {

    @RequestMapping("/simple.html")
    public String simpleHandler(Model model) {
        return "simple";                    
    }
}

当我请求 simple.html 时,SimpleController 得到该请求,但是当我删除到该 Controller 的映射时,simple.html 导致到简单流程。我看到 MVC Controller 具有更高的优先级并在到达流 Controller 之前获得请求。结果是哪一个?在那种情况下它是如何工作的?我可以更改普通 MVC Controller 和 Web 流 Controller 的请求处理顺序/优先级吗?

最佳答案

我已经使用 order 属性完成了它。它默认设置为 0,MVC Controller 在流程 Controller 之前处理请求。我将命令设置为 -1,现在流 Controller 会在请求到达我的 MVC Controller 之前处理请求。这是好的解决方案吗?

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

关于spring-mvc - MVC Controller 和 Web Flow Controller - 请求处理优先级,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5458812/

相关文章:

java - Spring Boot Thymeleaf 下拉列表

java - Spring 测试 - 注入(inject)具有嵌套 bean 依赖项的模拟 bean

java - 如何在 spring mvc 中提供静态内容?

spring - ASP.NET => Spring Web Flow : How do I get up to speed fast?

java - Spring Web Flow - 处理并发访问

java - 在 Spring Web Flow 2 中进行状态验证后,无效或丢弃历史记录不起作用

java - 根据登录用户在运行时更改数据库架构

java - Spring MVC 中模型对象未传递给 jsps - InternalResourceView - renderMergedOutputModel

java - 在 Spring WebFlow 中转发请求

java - 汉字编码?