Java 意外错误(类型=未找到,状态=404)
我正在使用Spring Boot,但出现了一个错误:出现了一个意外错误(type=notfound,status=404) My.jsp页面位于文件夹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
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/
这里有两件事你做错了 1.RestController在默认情况下返回JSON格式的响应,但您希望返回JSP页面,因此将其更改为控制器注释,请参阅 2.尝试在视图之前和之后添加斜杠,如下所示
spring.mvc.view.prefix:/WEB-INF/views/
张贴你的controller@GaneshGudghe即使返回字符串也可以正常工作。您只需要具有该名称的jsp文件。是否可以添加配置类或xml?