java拦截器的配置_Java 拦截器配置及使用「建议收藏」

java拦截器的配置_Java 拦截器配置及使用「建议收藏」packagecom.panshi.ProjectInterceptor.Interceptor;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.stereotype.Component;importorg.springframework.util.StringUtils;importor…

大家好,又见面了,我是你们的朋友全栈君。

packagecom.panshi.ProjectInterceptor.Interceptor;importorg.slf4j.Logger;importorg.slf4j.LoggerFactory;importorg.springframework.stereotype.Component;importorg.springframework.util.StringUtils;importorg.springframework.web.servlet.ModelAndView;importorg.springframework.web.servlet.handler.HandlerInterceptorAdapter;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjavax.servlet.http.HttpSession;

@Componentpublic class recordInterceptor extendsHandlerInterceptorAdapter {private final static Logger logger= LoggerFactory.getLogger(“interceptor”);/*** preHandle方法是进行处理器拦截用的,顾名思义,该方法将在Controller处理之前进行调用,

* SpringMVC中的Interceptor拦截器是链式的,可以同时存在多个Interceptor,

* 然后SpringMVC会根据声明的前后顺序一个接一个的执行,

* 而且所有的Interceptor中的preHandle方法都会在Controller方法调用之前调用。

* SpringMVC的这种Interceptor链式结构也是可以进行中断的,

* 这种中断方式是令preHandle的返回值为false,当preHandle的返回值为false的时候整个请求就结束了。*/@Overridepublic boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throwsException {

logger.info(“拦截了:”+request.getRequestURI());

HttpSession session=request.getSession();if(!StringUtils.isEmpty(session.getAttribute(“userId”))){/*** 相关验证

**/

return true;

}else{

response.sendRedirect(“/logins”);return false;

}//return super.preHandle(request, response, handler);

}/*** 这个方法只会在当前这个Interceptor的preHandle方法返回值为true的时候才会执行。

* postHandle是进行处理器拦截用的,它的执行时间是在处理器进行处理之 后, 也就是在Controller的方法调用之后执行,

* 但是它会在DispatcherServlet进行视图的渲染之前执行,也就是说在这个方法中你可以对ModelAndView进行操作。

* 这个方法的链式结构跟正常访问的方向是相反的,也就是说先声明的Interceptor拦截器该方法反而会后调用,

* 这跟Struts2里面的拦截器的执行过程有点像,

* 只是Struts2里面的intercept方法中要手动的调用ActionInvocation的invoke方法,

* Struts2中调用ActionInvocation的invoke方法就是调用下一个Interceptor或者是调用action,

* 然后要在Interceptor之前调用的内容都写在调用invoke之前,要在Interceptor之后调用的内容都写在调用invoke方法之后。*/@Overridepublic void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throwsException {

}/*** 该方法也是需要当前对应的Interceptor的preHandle方法的返回值为true时才会执行。

* 该方法将在整个请求完成之后,也就是DispatcherServlet渲染了视图执行, 这个方法的主要作用是用于清理资源的,*/@Overridepublic void afterCompletion(HttpServletRequest request,HttpServletResponse response, Object handler, Exception ex) throwsException {

}

}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/135287.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • httpclient4下载图片 java实现[通俗易懂]

    httpclient4下载图片 java实现[通俗易懂]有时候需要从网上抓取一下图片jpg、png等,也可以抓取zip等,这样就需要写程序才能达到想要的效果,下面是用httpclient4做一个工具类,非常的好用packagecom.wamei.tool;importjava.awt.image.BufferedImage;importjava.io.File;importjava.io.FileOutputStream;

    2022年7月22日
    9
  • 反应java程序并行机制的特点_【单选题】Java语言具有许多优点和特点,反映了Java程序并行机制的特点的是( )…

    反应java程序并行机制的特点_【单选题】Java语言具有许多优点和特点,反映了Java程序并行机制的特点的是( )…【单选题】Java语言具有许多优点和特点,反映了Java程序并行机制的特点的是()更多相关问题妊娠小便不通,或频数量少,小腹胀急疼痛,坐卧不宁,面色晄白,头重眩晕,短气懒言,大便不爽,舌淡在WDM传输中,色散的有利和有害的影响有哪些?一般可采用什么方法抑制色散的负面影响?下述哪项与妊娠小便不通的特点不符()A.妊娠期间,小便频数量少B.小便不通C.小腹胀急而痛D.烦以下各项中,属于市场调查过程中…

    2022年7月7日
    27
  • 【EDA】Mutisim基于Multisim的带通滤波器仿真设计实验「建议收藏」

    【EDA】Mutisim基于Multisim的带通滤波器仿真设计实验「建议收藏」基于Multisim的带通滤波器仿真设计实验【实验目的】熟悉Multsim电路仿真软件;熟悉并了解Multsim在模拟电子线路中的应用;掌握Multisim电路仿真设计;掌握Multsim电路分析和仿真测试。【实验要求】利用Multisim软件仿真设计一个二阶有源带通滤波器电路。带通滤波器是指能通过某一频率范围内的频率分量、但将其他范围的频率分量衰减到极低水平的滤波器。。【实验内容】1、滤波器性能指标技术要求:(1)中心频率处电压增益为:10倍;(2)频带宽度为:10-20KHz。2

    2022年5月29日
    42
  • isnotempty和isnotnull_isannotationpresent()用法

    isnotempty和isnotnull_isannotationpresent()用法引入包:org.apache.commons.lang3.StringUtils;1.publicstaticbooleanisEmpty(Stringstr)判断某字符串是否为空,为空的标准是str==null或str.length()==0下面是StringUtils判断是否为空的示例:StringUtils.isEmpty(null)=trueStringUtils.isEm…

    2022年9月27日
    0
  • Python_Python安装包下载[通俗易懂]

    Python_Python安装包下载[通俗易懂]PythonImagingLibrary(PIL):http://www.pythonware.com/products/pil/pywin32:http://sourceforge.net/projects/pywin32/files/pywin32/Build%20217/

    2022年10月29日
    0
  • hibernate和hibernation_unique sql

    hibernate和hibernation_unique sql Useruser=(Users)query.uniqueResult();//如果有多个值抛错;//如果有值且只有一个,返回一个object;//如果没值,返回null

    2022年9月29日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号