Java Spring mvc:控制器不';成功登录后无法加载新页面
我使用SpringMVC创建了一个名为login.jsp的登录页面和我的主页index.jsp。在登录页面上,我有两个用户名和密码文本字段,还有一个提交数据的按钮。根据数据库检查这些值,对于有效id,将显示index.jsp,而错误将重定向到单独的exception.jsp。问题是浏览器不会显示index.jsp或exception.jsp。它只是停留在登录页面上。但是,对POST操作的HTTP响应包含正确页面的代码。浏览器根本不会显示它。以下是我的控制器的一个片段:Java Spring mvc:控制器不';成功登录后无法加载新页面,java,spring,jsp,spring-mvc,controller,Java,Spring,Jsp,Spring Mvc,Controller,我使用SpringMVC创建了一个名为login.jsp的登录页面和我的主页index.jsp。在登录页面上,我有两个用户名和密码文本字段,还有一个提交数据的按钮。根据数据库检查这些值,对于有效id,将显示index.jsp,而错误将重定向到单独的exception.jsp。问题是浏览器不会显示index.jsp或exception.jsp。它只是停留在登录页面上。但是,对POST操作的HTTP响应包含正确页面的代码。浏览器根本不会显示它。以下是我的控制器的一个片段: // ----------
// -------------- Login ----------------
@RequestMapping(value = "/login", method = RequestMethod.GET)
public String showLogin(Locale locale, Model model) {
logger.info("Welcome to login page!");
return "login";
}
@RequestMapping(value = "/login", method = RequestMethod.POST, consumes = "application/json")
public String doLogin(@RequestBody LoginBean bean) throws Exception {
logger.info("Trying to log in. User: " + bean.getBenutzername() + " Password: " + bean.getPasswort());
long returnedIndex = inputManager.verifyLogin(bean);
// check db;
if(returnedIndex != -1){
user = returnedIndex;
logger.info("Success! Welcome, " + bean.getBenutzername());
return "redirect:/index";
}
else {
logger.info("Failed to log in");
throw new Exception("User or password incorrect. Try again.");
}
}
// -------------- Index ----------------
@RequestMapping(value = "/index", method = RequestMethod.GET)
public String showHome(Locale locale, Model model) throws Exception {
logger.info("Welcome to home page!");
outputManager.createBeans(1l);
return "index";
}
// -------------- Exceptions ----------------
@ExceptionHandler(Exception.class)
public ModelAndView handleAllException(Exception ex) {
logger.info("Catching exception: " + ex.getMessage());
ModelAndView model = new ModelAndView("exception");
model.addObject("msg", ex.getMessage());
return model;
}
问题实际上在前端。我们使用AngularJS,控制器中的方法返回的值没有正确解释。我不确定到底出了什么问题(我没有在前端工作),但我认为我们使用的脚本只负责在单个页面应用程序中修改web页面的一部分,而不是从一个页面跳到另一个页面