Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SpringMVC拦截器异常_Java_Spring Mvc_Interceptor - Fatal编程技术网

Java SpringMVC拦截器异常

Java SpringMVC拦截器异常,java,spring-mvc,interceptor,Java,Spring Mvc,Interceptor,我的项目是在spring mvc上完成的,我编写了一个拦截器来拦截请求,我想从请求中获取参数,下面是我的代码: public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { HandlerMethod maControl = (HandlerMethod) handler; Method pmrResol

我的项目是在spring mvc上完成的,我编写了一个拦截器来拦截请求,我想从请求中获取参数,下面是我的代码:

public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    HandlerMethod maControl = (HandlerMethod) handler;  
    Method pmrResolver = (Method) maControl.getMethod();  
    String methodName = pmrResolver.getName(); 
        ....
}
但现在它抛出了一个异常:

java.lang.ClassCastException: org.springframework.web.servlet.resource.DefaultServletHttpRequestHandler cannot be cast to  org.springframework.web.method.HandlerMethod

异常的原因是什么?

它只是意味着
处理程序
不是
HandlerMethod
的实例,因此强制转换失败。铸造前检查如下:

if(handler方法的处理程序实例){
HandlerMethod MacControl=(HandlerMethod)处理程序;
方法pmrResolver=(方法)maControl.getMethod();
String methodName=pmrResolver.getName();
// ...
}

我将拦截器用作特权拦截器。我想拦截所有请求,所以如果“handler”不是“HandlerMethod”的实例,我该如何处理这种情况?当“处理程序”是“DefaultServletHttpRequestHandler”的实例时,您能帮助我吗?您是如何解决这个问题的?在我的项目中看到同样的问题