sendRedirect()之后的代码是否仍会被执行?

时间:2017-05-21 09:03:53

标签: java spring jsp servlets java-ee

我很好奇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";

1 个答案:

答案 0 :(得分:1)

这是一个普通的java代码,在控制完成后处理" sendRedirect()"它将继续执行。