package interceptor;
import java.io.PrintWriter;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import net.sf.json.JSONObject;
public class UserInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
String url = request.getRequestURI();
if(url.indexOf("users/act.do")>=0){ //如果是登录请求则不拦截
return true;
}
Object sessionObj = request.getSession().getAttribute("user");
if(sessionObj!=null) { //已登录,返回true
return true;
}else{ //未登录,这里是ajax的返回方式,其他方式可以直接response.sendRedirect("");
JSONObject jo=new JSONObject();
jo.accumulate("result", "unlogin");
PrintWriter out = null;
out = response.getWriter();
out.print(jo);
out.flush();
out.close();
return false;
}
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception { }
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception e) throws Exception { }
}
springmvc 拦截器
最新推荐文章于 2018-09-12 09:48:47 发布