首页 课程 师资 教程 报名

Spring拦截器的两种实现方式

  • 2021-09-13 11:12:14
  • 1524次 星辉

方式一:实现

HandlerInterceptor接口,实现接口内的方法

public class LoginInterceptor implements HandlerInterceptor {
	//执行控制器之前的拦截程序
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
			throws Exception {
		HttpSession session = request.getSession();
		User user = (User)session.getAttribute("user");
		if(user == null) {
			String contextPath = request.getContextPath();
			response.sendRedirect(contextPath+"/user/login");
			return false;
		}else {
			return true;
		}		
	}
	//执行控制器之后的逻辑
	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,
			ModelAndView modelAndView) throws Exception {
		// TODO Auto-generated method stub
	}
	//视图渲染之后的逻辑
	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)
			throws Exception {
		// TODO Auto-generated method stub
	}
}

spring-mvc配置文件内容

    <!-- 拦截器 -->
    <mvc:interceptors>
    	<mvc:interceptor>
    		<mvc:mapping path="/**"/>
    		<mvc:exclude-mapping path="/static/**"/>
    		<mvc:exclude-mapping path="/user/login"/>
    		<mvc:exclude-mapping path="/user/AjaxDoLogin"/>
    		<bean class="com.cn.LoginInterceptor"></bean>
    	</mvc:interceptor>    
    </mvc:interceptors>

方式二:

继承HandlerIntercrprorAdapter实现类并重写preHandle方法

逻辑和上面的类似

以上就是星辉小编介绍的"Spring拦截器的两种实现方式",希望对大家有帮助,想了解更多可查看Spring框架教程。星辉星辉在线学习教程,针对没有任何Java基础的读者学习,让你从入门到精通,主要介绍了一些Java基础的核心知识,让同学们更好更方便的学习和了解Java编程,感兴趣的同学可以关注一下。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交