[java]代码库
package com.liang.bike.interceptor;
import com.liang.bike.bean.base.UserBase;
import org.apache.log4j.Logger;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
public class LoginInterceptor implements HandlerInterceptor {
private Logger logger = Logger.getLogger(LoginInterceptor.class);
// 身份认证、身份授权
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
// 判断session
HttpSession session = request.getSession();
UserBase user = (UserBase) session.getAttribute("user");
boolean flag = false;
if (user != null) {
flag = true;
} else {
// 获取请求的url
String redirectUrl = request.getRequestURI();
session.setAttribute("redirectUrl", redirectUrl);
String bikeNo = request.getParameter("bikeNo");
session.setAttribute("bikeNo", bikeNo);
logger.info("请求的URL" + redirectUrl + bikeNo);
// 执行这里表示用户身份需要认证,跳转登陆页面
logger.info("跳转到登录页面:login.jsp");
request.getRequestDispatcher("/WEB-INF/bike/user/login.jsp").forward(request, response);
}
return flag;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
logger.info("拦截器postHandle方法执行");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
logger.info("拦截器afterCompletion方法执行");
}
}