Java Spring 4.0 MVC类和方法级别的RequestMapping
我对注释和探索事物是新手。在我的示例程序中。。在spring 4.0中使用注释的简单hello world 这是控制器文件代码,我有两个带注释的RequestMapping条目,即一个在类级别,另一个在方法级别:Java Spring 4.0 MVC类和方法级别的RequestMapping,java,spring-mvc,request,restful-url,Java,Spring Mvc,Request,Restful Url,我对注释和探索事物是新手。在我的示例程序中。。在spring 4.0中使用注释的简单hello world 这是控制器文件代码,我有两个带注释的RequestMapping条目,即一个在类级别,另一个在方法级别: package com.controller; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; impor
package com.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
@Controller
@RequestMapping(value = "/Hybrid")
public class HybridController {
@RequestMapping(value = "/test", method = RequestMethod.GET)
public String getDemo(String name) {
System.out.println("/MVC/Demo");
return "helloworld" ;
}
}
如果我只放置类级别@RequestMapping,它将与连接到的url一起工作
…/斯普林格斯/混合动力车
或者仅使用连接的方法级别
…/SpringRS/test它工作得很好,并向我显示helloworld.jsp
但是,当我尝试将类和方法请求映射放在一起并使用以下url调用时:…/SpringRS/Hybrid/test,它不起作用
有人能解释一下我需要什么来让它工作吗
视图解析程序映射:
<context:component-scan base-package="com" />
<mvc:annotation-driven />
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="prefix">
<value>WEB-INF/views/</value>
</property>
<property name="suffix">
<value>.jsp</value>
</property>
</bean>
WEB-INF/views/
.jsp
我认为在您的web.xml中,DispatcherServlet as/Hybrid的url模式正好映射到类级别的注释。如果您的请求是…/Hybrid,则DispatcherServlet会选择它,因为它是完全匹配的。如果您的请求是…/Hybrid/test,则DispatcherServlet根本不会接收该请求。相反,如果url模式以/something/*等通配符结尾,则DispatcherServlet将首先拾取请求…/something/Hybrid/test,然后将其交给控制器进行解析。您确定没有定义冲突的url映射吗?您能否为spring启用调试日志记录,因为这将告诉您哪个控制器映射到哪个URL。请参阅