Spring MVC的自定义拦截器(登录)

使用Springmvc自定义拦截器实现登录的拦截

1、springmvc.xml的配置

<!-- 拦截器 -->
	<mvc:interceptors>
		<mvc:interceptor>
			<mvc:mapping path="/company/**" />
			<bean class="....LoginInterceptor"></bean>
		</mvc:interceptor>
	</mvc:interceptors>
其mvc:interceptor下必须要有bean节点,表示应用自定义的拦截器类

2、自定义的拦截器实现类

public class LoginInterceptor implements HandlerInterceptor {

	@Override
	public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
			throws Exception {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
			throws Exception {
		// TODO Auto-generated method stub
		
	}

	/**
	 * 在调用handler之前调用
	 * 做权限
	 */
	@Override
	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
		System.out.println("拦截器调试成功");
		String username =  (String)request.getSession().getAttribute("CurrentUser");   
        if(username == ""){  
            request.getRequestDispatcher("/login.jsp").forward(request, response);  
            return false;  
        }else  
            return true;     
	}

}
首先要实现HandlerInterceptor,并且重写其中的三个方法
1)preHandle
这个方法 该方法在目标方法之前被调用.
若返回值为 true, 则继续调用后续的拦截器和目标方法. 
若返回值为 false, 则不会再调用后续的拦截器和目标方法. 
可以考虑做权限. 日志, 事务等. 
2)postHandle
调用目标方法之后, 但渲染视图之前. 
可以对请求域中的属性或视图做出修改. 
3)afterCompletion
渲染视图之后被调用. 释放资源

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值