(1),springMVC拦截器配置
<mvc:interceptors>
<mvc:interceptor>
<!--拦截所有请求-->
<mvc:mapping path="/**"/>
<!--不拦截的请求-->
<mvc:exclude-mapping path="/index.jsp"/>
<mvc:exclude-mapping path="*.js" />
<mvc:exclude-mapping path="*.css" />
<mvc:exclude-mapping path="*.ico" />
<mvc:exclude-mapping path="/img/*" />
<bean class="org.activiti.explorer.servlet.DefinedInterceptor"></bean>
</mvc:interceptor>
</mvc:interceptors>
(2),拦截类实现接口HandlerInterceptor
import org.springframework.web.servlet.HandlerInterceptor;
import org.springframework.web.servlet.ModelAndView;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* @date: 2022/11/4 21:25
* @desc: 定义拦截器
*/
public class DefinedInterceptor implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
Object userNameSession = request.getSession().getAttribute("userName");
String userNameStr = userNameSession != null ? userNameSession.toString() : "";
if(!userNameStr.equals("")) {
// 登录系统成功,放行
return true;
} else {
System.out.println("请先登录!");
}
return false;
}
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
System.out.println("runing......postHandle......");
}
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
System.out.println("runing......afterCompletion......");
}
}