SpringMVC請求轉發的三種方法
首先明白請求轉發是一次請求,地址欄不會發生變化,區別於重定向。springmvc環境自行配置。
以下舉例中存在如下文件/WEB-INF/pages/success.jsp
請求轉發的第一種情況:請求轉發經過視圖解析器
前端頁面
<a href="${pageContext.request.contextPath}/forwardMvcView">請求轉發經過視圖解析器</a>
后台代碼
@RequestMapping("/forwardMvcView") public String forwardMvcView(){ return "success"; }
上面就是一種請求轉發
請求轉發的第二種情況:不經過視圖解析器
前端頁面
<a href="${pageContext.request.contextPath}/forwardView">請求轉發經過視圖解析器</a>
后台代碼(由於不經過視圖解析器,所以需要自己拼接前后綴)forward:關鍵字后面的路徑表示不再經過視圖解析器
@RequestMapping("/forwardView") public String forwardView(){ return "forward:/WEB_INF/pages/success.jsp"; }
請求轉發的第三種情況:請求轉發傳統的方式——原生Servlet
前端頁面
<a href="${pageContext.request.contextPath}/forwardCommon">請求轉發經過視圖解析器</a>
后台代碼
@RequestMapping("/forwardCommon") public forwardCommon(HttpServletRequest request,HttpServletResponse response){ request.getServletDispatcher("/WEB-INF/pages/success.jsp").forward(request,response); }