Java spring未使用RequestMappingHandlerMapping来映射请求
我正在SpringMVC和tiles集成上创建一个简单的应用程序。 起初,我在加载静态内容页(比如img)时遇到了问题。 因此,为了服务于静态页面,我在dispatcher-servlet.xml中包含了以下行Java spring未使用RequestMappingHandlerMapping来映射请求,java,spring,tiles,Java,Spring,Tiles,我正在SpringMVC和tiles集成上创建一个简单的应用程序。 起初,我在加载静态内容页(比如img)时遇到了问题。 因此,为了服务于静态页面,我在dispatcher-servlet.xml中包含了以下行 <mvc:resources mapping="/resources/**" location="/resources/" /> 我好奇的是,为什么spring在包含mvc:resources时不能自己注册适当的处理程序和适配器。我有什么遗漏吗? 我试着在spring文档和
<mvc:resources mapping="/resources/**" location="/resources/" />
我好奇的是,为什么spring在包含mvc:resources时不能自己注册适当的处理程序和适配器。我有什么遗漏吗?
我试着在spring文档和google中搜索它,但是找不到任何相关内容。我认为自己定义这些bean没有意义 您的XML配置中是否有
如果没有,请尝试将其添加到XML文件并删除:
<beans:bean id="handlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
</beans:bean>
<beans:bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
</beans:bean>
这将有助于您的请求到达控制器
基本上,mvc:annotation-driven
标记为您设置Spring上下文,以允许向控制器发送请求
该标记将配置两个bean
DefaultAnnotationHandlerMapping
和AnnotationMethodHandlerAdapter
。或者在新版本的Spring中有一些新的bean,但无论如何,该标记将为您配置它们。Bravo!!!这起作用了。它隐式地添加了所需的两个bean。想知道当我没有mvc:resources和mvcannotation驱动时注释设置是如何工作的。
@Controller
public class TestController {
@RequestMapping(value="/login", method=RequestMethod.GET)
public ModelAndView login(HttpServletRequest req, HttpServletResponse resp) {
ModelAndView mav=new ModelAndView("login");
mav.addObject("home","home");
mav.addObject("buy","buy");
mav.addObject("cart","cart");
return mav;
}
}
<beans:bean id="handlerMapping" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
</beans:bean>
<beans:bean id="handlerAdapter" class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
</beans:bean>