Spring MVC default-servlet-handler配置阻塞JSTL视图
我有简单的Spring配置
/pages/ .jsp
我的控制器是
package com.osfg.test; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; /** * @author athakur */ @Controller public class TestController { @RequestMapping(value="/test", method=RequestMethod.GET) public String welcome() { return "test"; } }
我的JSP是
OSFG Test Page Hello World!
此配置工作正常(虽然CSS没有应用)。
所以我补充道
到我的Spring配置,现在页面本身停止加载给404。
令人惊讶的是,一切正常(使用CSS)将遵循配置
直接渲染无控制器参与。
我认为对资源进行简单配置就足够了。
看起来我发现了这个问题。 不知何故,default-sevlet-handler会覆盖DefaultAnnotationHandlerMapping
处理程序? 这就是基于注释的处理程序失败的原因。 以下方案适合我 –
-
使用
。 这似乎启用了默认bean,包括DefaultAnnotationHandlerMapping
组合
工作。
-
以最高优先级( 链接 )显式定义所需的处理程序映射和处理程序适配器。 Spring扫描所有处理程序映射并分配一个订单属性Integer.MAX(如果没有明确定义),它给出了最低优先级。 然后,这些处理程序映射将根据此顺序进行排序。 此外,如果两个处理程序映射相同,则看起来需要首先定义的bean。 以下为我工作 –
所以我猜测default-sevlet-handler
创建了它自己的处理程序映射,它覆盖了所有处于相同首选项的注释。