67,512
社区成员
发帖
与我相关
我的任务
分享
<bean id="loginInterceptor" class="com.company.program.interceptor.LoginInterceptor" />
<!-- 判断用户会话是否失效 -->
<bean class="org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping" >
<property name="interceptors">
<list>
<ref bean="loginInterceptor"/>
</list>
</property>
</bean>
package com.company.program.interceptor;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.handler.HandlerInterceptorAdapter;
import com.company.program.bean.UserInfo;
/**
* 用户登录会话校验
*
*/
public class LoginInterceptor extends HandlerInterceptorAdapter {
private String mappingURL;
public void setMappingURL(String mappingURL) {
this.mappingURL = mappingURL;
}
/**
* 在DispatcherServlet完全处理完请求后被调用
*/
@Override
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
System.out.println("--sdfsd");
// TODO Auto-generated method stub
}
/**
* 在业务处理器处理请求执行完成后,生成视图之前执行的动作
*/
@Override
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
System.out.println("--sdfsd");
// TODO Auto-generated method stub
}
/**
* 在业务处理之前调用
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object arg2) throws Exception {
System.out.println("--sdfsd");
String url=request.getRequestURL().toString();
UserInfo userInfo = (UserInfo) request.getSession().getAttribute(
"userInfo");
if (mappingURL == null || url.matches(mappingURL)) {
if (userInfo == null)
response.sendRedirect("/login.htm");
return false;
}
return true;
}
}