思路:
1.获取到loginUser(登录的用户名)的值并判断是否为空
2.如果为空,说明没登录,进行拦截,重定向到登录页面( request.getContextPath()+"/admin/login.html" )
3.不为空,证明登录了,不拦截。
代码:
Interceptor.java
public class LoginInterceptor extends HandleInterceptorAdapter{
@Override
public boolean preHandle( HttpServletRequest request, HttpServletResponse response, Object handler ) throws Exception{
//判断Session是否为空
if ( request.getSession().getAttribute(loginUser) == null){
//如果没登录,跳转登录页面/admin/login.html
response.sendRedirect ( request.getContextPath()+"/admin/login.html" );
//验证失败,进行拦截
return false;
}
//验证通过
return true;
}
}
springmvc.xml
<mvc:interceptors>
<mvc:interceptor>
<!--拦截的页面 -->
<mvc:mapping path="/admin/**"/>
<!--放行的登录页面 -->
<mvc:exclude-mapping path="/admin/login"/>
<mvc:exclude-mapping path="/admin/login.html"/>
</mvc:interceptor>
</mvc:interceptors>