您的位置:首頁技術文章
文章詳情頁

java - request.getRequestDispatcher跳轉了,日志也提示view(jsp)訪問了,瀏覽器卻沒動靜

瀏覽:66日期:2023-11-10 18:12:21

問題描述

1、springmvc過濾器request.getRequestDispatcher跳轉了,日志也提示view(jsp)訪問了,瀏覽器卻沒動靜。

java - request.getRequestDispatcher跳轉了,日志也提示view(jsp)訪問了,瀏覽器卻沒動靜

if(!isLogin){ httpServletRequest.getRequestDispatcher('/toLogin').forward(httpServletRequest, httpServletResponse);}

java - request.getRequestDispatcher跳轉了,日志也提示view(jsp)訪問了,瀏覽器卻沒動靜

17:57:55.062 [http-nio-8080-exec-3] DEBUG org.springframework.beans.factory.support.DefaultListableBeanFactory - Returning cached instance of singleton bean ’indexLogin’17:57:55.062 [http-nio-8080-exec-3] DEBUG org.springframework.web.servlet.DispatcherServlet - Last-Modified value for [/toLogin] is: -117:57:55.063 [http-nio-8080-exec-3] DEBUG org.springframework.web.servlet.DispatcherServlet - Rendering view [org.springframework.web.servlet.view.JstlView: name ’login’; URL [/WEB-INF/view/login.jsp]] in DispatcherServlet with name ’springMVC’17:57:55.063 [http-nio-8080-exec-3] DEBUG org.springframework.web.servlet.view.JstlView - Forwarding to resource [/WEB-INF/view/login.jsp] in InternalResourceView ’login’17:57:55.064 [http-nio-8080-exec-3] DEBUG org.springframework.web.servlet.DispatcherServlet - Successfully completed request

頁面有個功能請求通過jquery ajax去請求controller,過濾器發現沒登錄過濾器request.getRequestDispatcher發起登錄請求跳到登錄頁面,日志記錄已經forward了(看圖2),但瀏覽器沒跳。

2、而且單獨請求/toLogin沒問題,直接出來登錄頁面

問題解答

回答1:

AJAX 請求的時候,會將你返回的頁面當成是數據使用 XMLHttpRequest.responseText 去接收。正確的做法應該是如果后臺發現不滿足登錄成功的條件,返回一個不成功的標志給 AJAX(比如:{'login' : 'failed'}),然后前端判斷如果是這個標志,那么通過 window.location.href 跳轉到你定義的 “/toLogin” 頁面。

回答2:

Ajax用js方式跳,form表單提交用你這種方式

標簽: java
国产综合久久一区二区三区