版权声明:署名,允许他人基于本文进行创作,且必须基于与原先许可协议相同的许可协议分发本文 (Creative Commons)
创建一个web项目,在src目录创建一个inteceptor包,里面创建一个inteceptor拦截类
创建interceptor拦截类[右键包名,新建一个class类,类名为自定义类名]
拦截类内容为
public class CheckLoginInteceptor implements HandlerInterceptor {
public void afterCompletion(HttpServletRequest arg0,
HttpServletResponse arg1, Object arg2, Exception arg3)
throws Exception {
// TODO Auto-generated method stub
}
public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2, ModelAndView arg3) throws Exception {
// TODO Auto-generated method stub
}
public boolean preHandle(HttpServletRequest arg0, HttpServletResponse arg1,
Object arg2) throws Exception {
// TODO Auto-generated method stub
/**
* 拦截器 未登录 则不让访问
*/
Object attribute = arg0.getSession().getAttribute("emptel");
if(attribute==null){
arg1.sendRedirect(arg0.getContextPath()+"/backlogin.jsp");
return false;
}
return true;
}
}
在preHandle方法里写登录拦截,如果没有得到登录session的值的话就不让访问,在controller层登录方法里已经写过如果登录成功则要记录session值。
在自定义配置文件中配置拦截器的相应配置。
配置内容为
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*/*"/>
<bean class="com.aaa.inteceptor.CheckLoginInteceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
拦截器配置结束。