gpt4 book ai didi

java - Spring mvc 拦截器异常

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:28:15 26 4
gpt4 key购买 nike

我的项目是基于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

异常的原因是什么?

最佳答案

这只是意味着 handler 不是 HandlerMethod 的实例,因此转换失败。类型转换前检查如下:

if (handler instanceof HandlerMethod) {
HandlerMethod maControl = (HandlerMethod) handler;
Method pmrResolver = (Method) maControl.getMethod();
String methodName = pmrResolver.getName();
// ...
}

关于java - Spring mvc 拦截器异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18481205/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com