spring mvc中的登录拦截器java类中,重写的三个方法是什么意思()
来源:互联网 发布:淘宝app看价格曲线 编辑:程序博客网 时间:2024/05/29 02:10
解释:
public class SpringMVCInterceptor implements HandlerInterceptor {
/**
* preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用,SpringMVC中的Interceptor拦截器是链式的,可以同时存在
* 多个Interceptor,然后SpringMVC会根据声明的前后顺序一个接一个的执行,而且所有的Interceptor中的preHandle方法都会在
* Controller方法调用之前调用。SpringMVC的这种Interceptor链式结构也是可以进行中断的,这种中断方式是令preHandle的返
* 回值为false,当preHandle的返回值为false的时候整个请求就结束了。
*/
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
// TODO Auto-generated method stub
return false;
}
/**
* 这个方法只会在当前这个Interceptor的preHandle方法返回值为true的时候才会执行。postHandle是进行处理器拦截用的,它的执行时间是在处理器进行处理之
* 后,也就是在Controller的方法调用之后执行,但是它会在DispatcherServlet进行视图的渲染之前执行,也就是说在这个方法中你可以对ModelAndView进行操
* 作。这个方法的链式结构跟正常访问的方向是相反的,也就是说先声明的Interceptor拦截器该方法反而会后调用,这跟Struts2里面的拦截器的执行过程有点像,
* 只是Struts2里面的intercept方法中要手动的调用ActionInvocation的invoke方法,Struts2中调用ActionInvocation的invoke方法就是调用下一个Interceptor
* 或者是调用action,然后要在Interceptor之前调用的内容都写在调用invoke之前,要在Interceptor之后调用的内容都写在调用invoke方法之后。
*/
@Override
public void postHandle(HttpServletRequest request,
HttpServletResponse response, Object handler,
ModelAndView modelAndView) throws Exception {
// TODO Auto-generated method stub
}
/**
* 该方法也是需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行。该方法将在整个请求完成之后,也就是DispatcherServlet渲染了视图执行,
* 这个方法的主要作用是用于清理资源的,当然这个方法也只能在当前这个Interceptor的preHandle方法的返回值为true时才会执行。
*/
@Override
public void afterCompletion(HttpServletRequest request,
HttpServletResponse response, Object handler, Exception ex)
throws Exception {
// TODO Auto-generated method stub
}
}
例子:
public class AuthInterceptor implements HandlerInterceptor {
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object obj) throws Exception {
Object sessionObj = request.getSession().getAttribute("USERDETAIL");
if(sessionObj!=null) {
return true;
}
response.sendRedirect("login.do");
return false;
}
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object obj, ModelAndView mav) throws Exception { }
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object obj, Exception e) throws Exception { }
}
输入http://127.0.0.1:8080/test/index.do,而index.do对应的映射action是IndexController,但是还没有执行IndexController类,就被上面的AuthInterceptor类拦截了,这时就会执行preHandle方法。
当preHandle方法执行完毕,并返回true,就说明通过权限验证了,用户可以访问IndexController类了,这时就会执行IndexController类的代码,IndexController执行完毕后,并且在tomcat对index.jsp渲染成html之前(即在浏览器中显示index.jsp内容之前),这时候执行postHandle方法。
当postHandle方法执行完毕后,tomcat将index.jsp渲染成html了(确切来说是tomcat将index.jsp编译成servlet类,而servlet类对html代码进行了渲染,将渲染后的html文件返回给浏览器显示),浏览器显示完毕后,这时候执行afterCompletion方法。
public class IndexController extends AbstractController {
@Override
protected ModelAndView handleRequestInternal(HttpServletRequest request,
HttpServletResponse response) throws Exception {
// TODO Auto-generated method stub
Map<String ,Object> model=new HashMap<String,Object>();
return new ModelAndView("index",model);
}
}
- spring mvc中的登录拦截器java类中,重写的三个方法是什么意思()
- Spring MVC中拦截器HandlerInterceptorAdapter中的preHandle方法
- Spring MVC中拦截器HandlerInterceptorAdapter中的preHandle方法
- Spring MVC实现的登录拦截器
- Spring MVC的自定义拦截器(登录)
- spring mvc登录拦截器
- spring mvc登录拦截器
- spring mvc中设置登录拦截器,报错:元素 "mvc:interceptors" 的前缀 "mvc" 未绑定。
- spring mvc 中拦截器的使用
- Spring MVC中的拦截器
- 使用java配置类实现spring mvc的拦截器
- JAVA Spring web mvc 学习 之 7:拦截器(登录状态验证)
- Spring MVC学习-----------Spring中的拦截器
- Spring MVC拦截器,登录拦截简单配置
- Spring mvc拦截器实现登录验证拦截
- spring mvc拦截器之拦截未登录
- 通过Spring MVC 的自定义拦截器实现灵活的登录拦截
- 通过Spring MVC 的自定义拦截器实现灵活的登录拦截
- "巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场(重现) HDU 5704
- IEEE 802.15.4协议完整中文版 - 目录
- Ubuntu默认root用户密码
- Codeforces Round #200 (Div. 1) D - Water Tree 很经典而且很有趣的树 上dfs问题
- spring、springmvc、mybatis整合(SSM)
- spring mvc中的登录拦截器java类中,重写的三个方法是什么意思()
- html5本地存储localStorage 存储json对象存储格式问题
- 《java入门第一季》之Socket编程通信和TCP协议通信图解
- Ubuntun
- 第16课:Spark streaming 源码解读之数据清理内幕彻底揭秘
- M3数据库的压缩程序设计M3 Eob Database Compacted
- 实习第八天:SurfaceView显示动画效果(1)
- "巴卡斯杯" 中国大学生程序设计竞赛 - 女生专场(重现) HDU 5705
- 线性代数复习 第一章 行列式