以登录拦截为例 如果不进行登录验证不能访问除登陆页面外的其他页面
登录拦截的class
package com.oa.global;
import org.springframework.web.servlet.HandlerInterceptor;s
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 {
//操作前就进行拦截处理
public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
//获取当前请求的路径
String url = httpServletRequest.getRequestURI();
//将login转换为小写再进行比较 存在则返回true
if(url.toLowerCase().indexOf("login")>=0){
return true;
}
//使用session判断之前是否已经登录
HttpSession session = httpServletRequest.getSession();
if(session.getAttribute("employee")!=null){
return true;
}
//重定向到登录页面进行登录操作
httpServletResponse.sendRedirect("/to_login");
return false;
}
//
public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
}
//
public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
}
}
登录拦截的springmvc.xml配置
<mvc:interceptors>
<mvc:interceptor>
//拦截所有请求
<mvc:mapping path="/**"/>
<bean class="拦截器类在项目中的位置例如com.oa.LoginInterceptor"/>
</mvc:interceptor>
</mvc:interceptors>
来源:CSDN
作者:Eisou7
链接:https://blog.csdn.net/quhaha/article/details/103844898