调用HandlerInterceptorAdapter子类的postHandle方法时,ModelAndView为null

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了调用HandlerInterceptorAdapter子类的postHandle方法时,ModelAndView为null相关的知识,希望对你有一定的参考价值。

参考技术A 浏览器可以正常访问后台,但当打开Chrome的开发者工具时,后台会调用HandlerInterceptorAdapter子类的postHandle方法,并且ModelAndView为null,会报空指针异常。更有趣的是,开启火狐的firebug却不会报错。

打开Chrome的开发者工具或者火狐的firebug,浏览器会请求获取压缩js、css对应的map文件,当服务器端没有对应的静态资源时,会进入拦截器HandlerInterceptorAdapter,此时的HttpServletRequest为/error。

可以通过下图的设置,取消浏览器对map文件的请求

对比两个浏览器请求map文件的请求头,发现火狐的请求头多了accept参数,所以火狐获取map文件的请求进入HandlerInterceptorAdapter子类的postHandle方法时,ModelAndView不为null。可以通过Postman模拟请求得证。

Java中方法调用总结

静态方法调用其他方法

1.调用同一类中静态方法

直接调用

2.调用不同类中静态方法

类名.方法名(参数表)调用

3.调用同一类中非静态方法

通过对象调用

4.调用不同类中非静态方法

通过对象调用

非静态方法调用其他方法

1.调用同一类包中静态方法

直接调用

2.调用不同类中静态方法

类名.方法名(参数表)调用

3.调用同一类包中非静态方法

直接调用

4.调用不同类中非静态方法

通过对象调用

以上是关于调用HandlerInterceptorAdapter子类的postHandle方法时,ModelAndView为null的主要内容,如果未能解决你的问题,请参考以下文章

java三种调用方式(同步调用/回调/异步调用)

LINUX系统调用

引用调用 vs 复制调用调用

RPC 调用和 HTTP 调用的区别

js方法调用

深入理解Java虚拟机——方法调用(解析调用)