我很好奇sendRedirect()在重定向后如何工作。
MaintenanceController.java
@RequestMapping(produces = "text/html")
public String menu(HttpServletRequest request, HttpServletResponse response) throws IOException {
if((new BaseController()).checkPrivilege(request) == "ADMIN") {
return (new BaseController()).fallback(request, response);
}
return "maintenance/menu";
}
BaseController.java
public String fallback(HttpServletRequest request, HttpServletResponse response) throws IOException{
return String.format("redirect:%s",request.getHeader("referer"));
}
public String checkPrivilege(HttpServletRequest request) {
return (String)request.getSession().getAttribute("privilege");
}
这不像我可以在sendRedirect()之后输入system.out.print()来打印一些东西,如果它会立即执行。我想知道在某个时间点它仍然会在它之后执行代码。在这种情况下,return "maintenance/menu";
。
答案 0 :(得分:1)
这是一个普通的java代码,在控制完成后处理" sendRedirect()"它将继续执行。