Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-apps-script/6.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
Java Spring 4.0 MVC类和方法级别的RequestMapping_Java_Spring Mvc_Request_Restful Url - Fatal编程技术网

Java Spring 4.0 MVC类和方法级别的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

我对注释和探索事物是新手。在我的示例程序中。。在spring 4.0中使用注释的简单hello world

这是控制器文件代码,我有两个带注释的RequestMapping条目,即一个在类级别,另一个在方法级别:

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。请参阅