springmvc--拦截器---简单应用
拦截器类代码:
public class HandleInterceptor1 implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { // get uri String uri = request.getRequestURI(); // 不拦截登录页面 if(!uri.contains("/login")){ Object username = request.getSession().getAttribute("username"); if (username == null) { response.sendRedirect(request.getContextPath()+"/index.jsp"); // username为null不放行 return false; } } // 放行 return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { System.out.println("postHandle"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { System.out.println("afterCompletion"); } }
springmvc配置:
<mvc:interceptors> <mvc:interceptor> <mvc:mapping path="/**"/> <bean class="com.jove.interceptor.HandleInterceptor1"></bean> </mvc:interceptor>
</mvc:interceptors>
控制层:
@RequestMapping(value = "login") public String login(String username,HttpSession session) { // 校验用户登录 System.out.println(username); // 把用户名放到session中 session.setAttribute("username", username); return "redirect:/items/list.do"; }
浙公网安备 33010602011771号