Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.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 意外错误(类型=未找到,状态=404)_Java_Spring Boot - Fatal编程技术网

Java 意外错误(类型=未找到,状态=404)

Java 意外错误(类型=未找到,状态=404),java,spring-boot,Java,Spring Boot,我正在使用Spring Boot,但出现了一个错误:出现了一个意外错误(type=notfound,status=404) My.jsp页面位于文件夹src>main>webapp>WEB-INF>views 应用程序。属性: spring.mvc.view.prefix:/WEB-INF/views/ spring.mvc.view.suffix:.jsp spring.messages.basename=validation @Controller public class UserCon

我正在使用Spring Boot,但出现了一个错误:出现了一个意外错误(type=notfound,status=404)

My.jsp页面位于文件夹
src>main>webapp>WEB-INF>views

应用程序。属性:

spring.mvc.view.prefix:/WEB-INF/views/
spring.mvc.view.suffix:.jsp
spring.messages.basename=validation
@Controller
public class UserController {
    @Autowired
    private UserService userService;

    @Autowired
    private SecurityService securityService;

    @Autowired
    private UserValidator userValidator;

    @GetMapping("/registration")
    public String registration(Model model) {
        model.addAttribute("userForm", new User());

        return "registration";
    }

    @PostMapping("/registration")
    public String registration(@ModelAttribute("userForm") User userForm, BindingResult bindingResult) {
        userValidator.validate(userForm, bindingResult);

        if (bindingResult.hasErrors()) {
            return "registration";
        }

        userService.save(userForm);

        securityService.autoLogin(userForm.getUsername(), userForm.getPasswordConfirm());

        return "redirect:/welcome";
    }

    @GetMapping("/login")
    public String login(Model model, String error, String logout) {
        if (error != null)
            model.addAttribute("error", "Your username and password is invalid.");

        if (logout != null)
            model.addAttribute("message", "You have been logged out successfully.");

        return "login";
    }

    @GetMapping({"/", "/welcome"})
    public String welcome(Model model) {
        return "welcome";
    }
}
控制器:

spring.mvc.view.prefix:/WEB-INF/views/
spring.mvc.view.suffix:.jsp
spring.messages.basename=validation
@Controller
public class UserController {
    @Autowired
    private UserService userService;

    @Autowired
    private SecurityService securityService;

    @Autowired
    private UserValidator userValidator;

    @GetMapping("/registration")
    public String registration(Model model) {
        model.addAttribute("userForm", new User());

        return "registration";
    }

    @PostMapping("/registration")
    public String registration(@ModelAttribute("userForm") User userForm, BindingResult bindingResult) {
        userValidator.validate(userForm, bindingResult);

        if (bindingResult.hasErrors()) {
            return "registration";
        }

        userService.save(userForm);

        securityService.autoLogin(userForm.getUsername(), userForm.getPasswordConfirm());

        return "redirect:/welcome";
    }

    @GetMapping("/login")
    public String login(Model model, String error, String logout) {
        if (error != null)
            model.addAttribute("error", "Your username and password is invalid.");

        if (logout != null)
            model.addAttribute("message", "You have been logged out successfully.");

        return "login";
    }

    @GetMapping({"/", "/welcome"})
    public String welcome(Model model) {
        return "welcome";
    }
}

但它仍然找不到页面。我该怎么办?

请尝试以下更改:

  • 在末尾加一个正斜杠:
    spring.mvc.view.prefix:/WEB-INF/views/
  • 将@RestController更改为@Controller

  • 这里有两件事你做错了

    1.RestController在默认情况下返回JSON格式的响应,但您希望返回JSP页面,因此将其更改为控制器注释,请参阅

    2.尝试在视图之前和之后添加斜杠,如下所示

    spring.mvc.view.prefix:/WEB-INF/views/
    

    张贴你的controller@GaneshGudghe即使返回字符串也可以正常工作。您只需要具有该名称的jsp文件。是否可以添加配置类或xml?