1. Le filtre springmvc request.getRequestDispatcher a sauté et le journal a également indiqué que la vue (jsp) avait été accédée, mais que le navigateur n'avait pas bougé.
if(!isLogin){
httpServletRequest.getRequestDispatcher("/toLogin").forward(httpServletRequest, httpServletResponse);
}
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: -1
17: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
Il y a une demande de fonction sur la page pour demander au contrôleur via jquery ajax. Le filtre détecte qu'il n'y a pas de connexion. Le filtre request.getRequestDispatcher lance une demande de connexion et passe à la page de connexion. Figure 2), mais le navigateur ne saute pas.
2. Et ce n'est pas un problème de demander /toLogin seul, cela apparaîtra directement sur la page de connexion
Lors d'une requête AJAX, la page que vous retournez sera utilisée comme données
XMLHttpRequest.responseText
去接收。正确的做法应该是如果后台发现不满足登录成功的条件,返回一个不成功的标志给 AJAX(比如:
{"login" : "failed"}
),然后前端判断如果是这个标志,那么通过window.location.href
Accédez à la page "/toLogin" que vous avez définie.Ajax saute en utilisant js et la soumission du formulaire utilise votre méthode