千家信息网

java拦截器的作用是什么

发表于:2024-11-18 作者:千家信息网编辑
千家信息网最后更新 2024年11月18日,这篇文章主要讲解了"java拦截器的作用是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java拦截器的作用是什么"吧!1、拦截器类:IndexI
千家信息网最后更新 2024年11月18日java拦截器的作用是什么

这篇文章主要讲解了"java拦截器的作用是什么",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"java拦截器的作用是什么"吧!

1、拦截器类:IndexInterceptor

package interceptor;import java.util.Date; import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse; import org.springframework.web.servlet.ModelAndView;import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; public class IndexInterceptor extends HandlerInterceptorAdapter {       /**      * 在业务处理器处理请求之前被调用      * 如果返回false      *     从当前的拦截器往回执行所有拦截器的afterCompletion(),再退出拦截器链     * 如果返回true      *    执行下一个拦截器,直到所有的拦截器都执行完毕      *    再执行被拦截的Controller      *    然后进入拦截器链,      *    从最后一个拦截器往回执行所有的postHandle()      *    接着再从最后一个拦截器往回执行所有的afterCompletion()      */       public boolean preHandle(HttpServletRequest request,               HttpServletResponse response, Object handler) throws Exception {                 System.out.println("preHandle(), 在访问Controller之前被调用");         return true;             }      /**     * 在业务处理器处理请求执行完成后,生成视图之前执行的动作        * 可在modelAndView中加入数据,比如当前时间     */          public void postHandle(HttpServletRequest request,               HttpServletResponse response, Object handler,               ModelAndView modelAndView) throws Exception {         System.out.println("postHandle(), 在访问Controller之后,访问视图之前被调用,这里可以注入一个时间到modelAndView中,用于后续视图显示");        modelAndView.addObject("date","由拦截器生成的时间:" + new Date());    }      /**      * 在DispatcherServlet完全处理完请求后被调用,可用于清理资源等       *       * 当有拦截器抛出异常时,会从当前拦截器往回执行所有的拦截器的afterCompletion()      */         public void afterCompletion(HttpServletRequest request,               HttpServletResponse response, Object handler, Exception ex)     throws Exception {                    System.out.println("afterCompletion(), 在访问视图之后被调用");     }        }

2、配置拦截器

修改springmvc-servlet.xml以对/index路径进行拦截
如果要拦截其他路径:
/** 拦截所有
/category/** 拦截/category路径下的所有

                                                                 indexController                                                                                                                        

3、修改 index.jsp,打印拦截器放进去的日期

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8" isELIgnored="false"%> 

${message}

${date}

感谢各位的阅读,以上就是"java拦截器的作用是什么"的内容了,经过本文的学习后,相信大家对java拦截器的作用是什么这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!

0