1
我很好奇sendRedirect()在重定向後如何工作。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");
}
它不象我只是把是System.out.print()的的sendRedirect(後)打印的東西如果它會立即執行。我想知道如果在某個時間點它仍然會執行它後面的代碼。在這種情況下,return "maintenance/menu";
。
在服務器端,它只發送頭文件告訴瀏覽器發出另一個http請求。 –
爲什麼不執行它?這只是Java。調用方法不會中斷調用方法的執行,除非被調用的方法拋出異常。 –
@ holi-java您的編輯是真正的解決方案。謝謝 – Moon