为了账号安全,请及时绑定邮箱和手机立即绑定

interceptor拦截器

标签:
Java

fifter、servlet、interceptor

    fifter用来处理请求头、请求参数、编码的一些设置,然后转交给servlet,处理业务,返回

    servlet现在常用的spring,servlet拦截/到DispatcherServlet,交由spring管理

    interceptor,servlet请求之后可以实现HandlerInterceptor做到preHandle、postHandle、afterCompletion在controller之前、之后、渲染之后


登陆

    业务中常用的登陆、注册,大部分用cookie、session来做,这时候就涉及到拦截判断用户是否登陆、是否有权限?至此引出interceptor:

   package com.bs.interceptor;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import org.springframework.web.servlet.HandlerInterceptor;import org.springframework.web.servlet.ModelAndView;import com.bs.controller.BaseController;import com.bs.entity.Member;public class LoginInterceptor implements HandlerInterceptor {	@Override	public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)			throws Exception {				Member member = BaseController.getMemberByCookie(request);		System.out.println(member);		if(member == null){			response.sendRedirect("/officialweb/login.html"); 		}		return false;	}	@Override	public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler,			ModelAndView modelAndView) throws Exception {		// TODO Auto-generated method stub	}	@Override	public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex)			throws Exception {		// TODO Auto-generated method stub	}}

    java代码如上,然后在servlet.xml中配置如下:

 <!-- 拦截器 -->  <!--         多个拦截器,顺序执行 -->   <mvc:interceptors>           <mvc:interceptor>             <mvc:mapping path="/**"/>            <mvc:exclude-mapping path="/**/cloud/**" />            <mvc:exclude-mapping path="/**/login/**" />            <bean class="com.bs.interceptor.LoginInterceptor"></bean>         </mvc:interceptor>     </mvc:interceptors>

    mvc:mapping拦截的path地址,mvc:exclude-mapping不拦截的path地址,比如一些登陆、注册、验证码、和可以不登录操作的接口。

    至此结束。

点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消