使用拦截器如下
/**
* 登录检查
* 1.配置好拦截器要拦截那些请求
* 2.把这些配置放到容器中
*/
public class LoginInterceptor implements HandlerInterceptor {
/**
* 目标方法执行之前
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
//检测登录逻辑
HttpSession session=request.getSession();
Object loginUser=session.getAttribute("Loginuser");
if (loginUser!=null){
//放行
return true;
}
//拦截
return false;
}
运行得时候发现页面空白
甚至代码都没有,这就奇怪了,思来想去,结果是拦截器得问题
如上述代码,当加载login页面得时候,根据上述拦截器描述应该获取session值,但是还没有登录压根就没有session值,用if中loginUser!=null
来判断是否放行,肯定不通过,也没有写出相应得动作,所以拦截了所有页面,导致空白页!!!后续改这个地方完善就可以了