Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.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
Spring mvc SpringMVC4.3404错误。路径映射问题。Servlet映射和配置看起来不错_Spring Mvc_Http Status Code 404_Request Mapping - Fatal编程技术网

Spring mvc SpringMVC4.3404错误。路径映射问题。Servlet映射和配置看起来不错

Spring mvc SpringMVC4.3404错误。路径映射问题。Servlet映射和配置看起来不错,spring-mvc,http-status-code-404,request-mapping,Spring Mvc,Http Status Code 404,Request Mapping,AppInitailizer.java public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{ @Override protected Class<?>[] getRootConfigClasses() { return new Class[]{AppConfig.class}; } @Override protected Class<?>

AppInitailizer.java

public class AppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer{

@Override
protected Class<?>[] getRootConfigClasses() {
    return new Class[]{AppConfig.class};
}

@Override
protected Class<?>[] getServletConfigClasses() {
    return null;
}

@Override
protected String[] getServletMappings() {
    return new String[]{"/api/*"};
}
UserController.java

@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;


    @RequestMapping(method = RequestMethod.GET)
    public List<User> getUsers(){
        List<User> users = userService.findAll();
        return users;
    }
@RestController
@请求映射(“/users”)
公共类用户控制器{
@自动连线
私人用户服务;
@RequestMapping(method=RequestMethod.GET)
公共列表getUsers(){
List users=userService.findAll();
返回用户;
}
当我尝试启动时,结果是“HTTP Status 404”-/practice/api/users(其中practice是项目名称)。在getServletMappings()中,我将路径设置为/api/*并且UserController类将请求映射为/users。我不知道哪里出错了。当我访问index.xml时,它工作正常

错误截图:


您应该在请求映射中使用value属性,如
@RequestMapping(value=“users”,method=RequestMethod.GET)

->我将@RequestMapping(“/users”)交给了类UserController。由于RequestMapping是层次结构的,它适用于函数getUsers()。如果我错了,请纠正我。是的,你是对的,但要区别对待请求的方法,你应该给@RequestMapping(value)=“something”),您必须通过完整的URL路径(如yourpath/users/something)进行调用。我认为,当我启动URL时,它会对您起作用。tomcat日志中没有错误,说明给定URL没有映射。我试图打印一条语句GetRootConfigClass(),getServletMappings()。日志中也缺少print语句。因此,我假设spring mvc的配置可能是错误的。但我如何才能找到答案?
@RestController
@RequestMapping("/users")
public class UserController {

    @Autowired
    private UserService userService;


    @RequestMapping(method = RequestMethod.GET)
    public List<User> getUsers(){
        List<User> users = userService.findAll();
        return users;
    }