读书人

Spring MVC 拦截器打死不跳转,该如何

发布时间: 2013-07-04 11:45:33 作者: rapoo

Spring MVC 拦截器,打死不跳转
下图是配置文件


<!-- 拦截器设置,处理session超时,自动跳转到登录页面 -->
<context:annotation-config />
<context:component-scan base-package="com"/>

<mvc:interceptors>
<bean class="com.web.controller.newController.sessionController" />
</mvc:interceptors>

<bean id="jspViewResolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>


下面是拦截处理


package com.web.controller.newController;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;

import com.web.vo.UserSessionDto;

public class sessionController extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
UserSessionDto session = (UserSessionDto) request.getSession()
.getAttribute("user");
System.out.println("pre Handle-->"+(null != session));
if (null != session) {
//request.getRequestDispatcher("/login.html").forward(request, response);
response.sendRedirect("/login.html");
return false;
}
return super.preHandle(request, response, handler);
}
}


现在的情况是这样,sessionController可以拦截到所有请求,但是执行response.sendRedirect("/login.html");的时候,不会发生跳转
我也试了request.getRequestDispatcher("").forward(request, response)

一点反应都没有

求指点。 Spring MVC session 拦截器 Adapter
[解决办法]
哦 看错了 原来是filter
[解决办法]
看一下你的逻辑是否正解?
if (null != session) {
//request.getRequestDispatcher("/login.html").forward(request, response);
response.sendRedirect("/login.html");
return false;
}
这里执行了吗?
[解决办法]
后台返回值,js判断返回值是否跳转。
------解决方案--------------------


你发AJAX是用的JS框架还是原生态的?
[解决办法]
有什么解决方法没,我也正遇到这个问题,请大牛解决!
[解决办法]


引用:
有什么解决方法没,我也正遇到这个问题,请大牛解决!

用过EXTJS么?

读书人网 >J2EE开发

热点推荐