拦截器类配置只有登陆之后才能继续下一步操作不然,拦截之后返回登陆界面
package com.itlike.util;
import com.itlike.domain.User;
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 Interceptor implements HandlerInterceptor {
@Override
//处理器方法执行之前调用
//true代表放行,false不放行 就执行不了处理器方法
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
System.out.println("123");
HttpSession session = request.getSession();
User user = (User)session.getAttribute("user");
if (user!=null){
return true;
}
response.sendRedirect("/login");
return false;
}
//当处理器方法执行之后会自动调用
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("1111");
}
//请求处理完成后会调用这个
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("after");
}
}
spring-mvc.xml 添加
<mvc:interceptors>
<mvc:interceptor>
<!--自定义拦截器-->
<mvc:mapping path="/admin/**"/>
<bean class="com.itlike.util.Interceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>