专注Java教育14年 全国咨询/投诉热线:400-8080-105
动力节点LOGO图
始于2009,口口相传的Java黄埔军校
首页 hot资讯 Spring拦截器的两种实现方式

Spring拦截器的两种实现方式

更新时间:2021-09-13 11:12:14 来源:动力节点 浏览1503次

方式一:实现

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编程,感兴趣的同学可以关注一下。

提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>