报错:
java.lang.ClassCastException: org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframework.web.method.HandlerMethod
原因就在于,Spring boot 2.0对静态资源也进行了拦截,当拦截器拦截到请求之后,但controller里并没有对应的请求时,该请求会被当成是对静态资源的请求。此时的handler就是 ResourceHttpRequestHandler,就会抛出上述错误。
解决办法就是,在拦截器那里排除静态资源的请求路径
然后再preHandler报错那里加上 instanceof关键字进行判断。
报错:java.lang.ClassCastException: org.springframework.web.servlet.resource.ResourceHttpRequestHandler cannot be cast to org.springframework.web.method.HandlerMethod原因就在于,Spring boot 2.0对静态资源也进行了拦截,当拦截器拦截到请求之后,但controller里并没有对应的请求时,该请求会被当成是对静态资源的请求。此时的han
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
cannot be
cas
t to
org
.springfram
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
cannot be
cas
t to
org
.
springframework
.
web
.
method
.
Handler
Method
访问的是http://localhost/ab/as
登录拦截器拦截的是 /ab/**
原因分析:
打断点后发现传入的是
Resource
HttpRequest
Handler
,因为找不到用来处理这个的方法,所以作为资源来处理因此被拦截到的时候是.
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
cannot be
cas
t to
org
.
springframework
.
web
.
method
.
Handler
Method
] with root cause
以前系统并没有这个错误,今天加了视频播放器就出现这个错误了,找了好久,发现是过滤器没有加视频文件格式(吐...
Caused by: java.lang.Class
Cas
tException:
org
.
springframework
.
web
.Spring
Servlet
ContainerInitializer cannot be
cas
t to javax.
servlet
.
Servlet
ContainerInitializer
当你用maven构建项目时,用到Spring框架,请务必在pom.xm...
(1). Array.prototype.includes
数组的includes(value)方法,用来检测数组中是否包含某个元素,返回布尔值。
const aa = ["张颜齐","段宜恩","郑秀晶"];
console.log(aa.includes("张颜齐"));//true
(2). [**]用来实现幂运算
[**]与Math.pow()是一样的。
console.log(2 ** 10);//1024 Math.pow(2,10);
2. es8新特新
(1).Ob
正常编写的文件上传和下载,利用 Http
Servlet
Response 对象的 OutputStream 流,去输出文件内容的接口是无法完成网页上的视频播放、音频播放的预加载效果,这个预加载效果是我自己创的一个词吧,实际的问题是:当你在播放视频或音频的时候,你点击进度条,无法实现指定位置进行播放,莫名的不爽,这是因为后台接口写的有问题!
实际效果:
java.io.IOException: java.lang.Class
Cas
tException: Cannot
cas
t
org
.
springframework
.
web
.Spring
Servlet
java.io.IOException: java.lang.Class
Cas
tException: Cannot
cas
t
org
.
springframework
.
web
.Spring
Servlet
ContainerInitializer to javax.
servlet
.
Servlet
ContainerInitializer
at
org
.apache.catalina.sta...
java.lang.IllegalArgumentException: java.lang.Class
Cas
tException@1cb6d9bb异常信息原因解决方式和总结延展
java.lang.IllegalArgumentException: java.lang.Class
Cas
tException@1cb6d9bb
at sun.reflect.Generated
Method
A...
### 回答1:
这个错误通常是因为代码中尝试将一个类型为
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
的对象强制转换为
org
.
springframework
.
web
.
method
.
Handler
Method
类型而引起的。
要解决这个问题,你需要检查代码中的类型转换部分,确保你正在尝试将正确的类型强制转换为
Handler
Method
类型。如果你确定类型转换正确无误,那么可能需要检查代码中的依赖项,以确保所有的依赖项都已正确地加载和配置。
如果你无法解决这个问题,你可能需要考虑寻求更多帮助,例如在相关的开发社区或论坛上寻求帮助,或者咨询相关的技术专家。
### 回答2:
这是因为在Spring MVC框架中存在两种不同的
Handler
,一种是
Resource
HttpRequest
Handler
,另一种是
Handler
Method
,它们有着不同的特点和用途。
Resource
HttpRequest
Handler
是用于处理静态资源的
Handler
,例如图片、CSS文件、JavaScript文件等等。这种
Handler
不需要进行数据转换或者业务逻辑处理,因此它的返回类型是void,就是说它不需要返回结果。
Handler
Method
则是处理普通请求的
Handler
,它可以进行数据转换、业务逻辑处理,并最终返回结果。例如,在处理用户提交的表单时,需要将表单数据转换为Java对象,然后进行业务逻辑处理,最终将处理结果返回给用户。
在代码中出现“
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
cannot be
cas
t to
org
.
springframework
.
web
.
method
.
Handler
Method
”的原因是由于代码中将Resouce
HttpRequest
Handler
强制转换成了
Handler
Method
,而这两种
Handler
是完全不同的两种类型,不能进行强制类型转换。
解决这个问题的方法是:在代码中使用正确的
Handler
类型,并根据实际需求进行处理。如果需要处理静态资源,就使用
Resource
HttpRequest
Handler
;如果需要处理普通请求,就使用
Handler
Method
。
总之,在使用Spring MVC框架时,要注意不同
Handler
的区别和使用方法,以避免出现错误。
### 回答3:
问题的出现可能是由于在Spring框架中不同的
Handler
处理程序之间类型转换引起的。在某些情况下,可能要求将某些处理程序的对象转换为另一种类型的对象。如果这种转换不正确,就可能导致类型转换异常。
在这种情况下,出现了
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
无法转换为
org
.
springframework
.
web
.
method
.
Handler
Method
的问题。这是因为
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
是用于处理静态资源的处理程序,而
org
.
springframework
.
web
.
method
.
Handler
Method
是用于处理控制器中定义的方法的处理程序。
因此,可能是在配置文件或代码中错误地将
org
.
springframework
.
web
.
servlet
.
resource
.
Resource
HttpRequest
Handler
指定为处理程序,而实际上需要处理控制器方法的
org
.
springframework
.
web
.
method
.
Handler
Method
。
要解决这个问题,应检查配置文件和代码,查看是否有不正确的类型转换。如果有,应将其更正为正确的处理程序类型。还可以考虑使用适当的Spring MVC注解来指示Spring框架使用正确的
Handler
处理程序。例如,在控制器中使用@RequestMapping注解指定要处理的URL映射。同时,还应注意遵循Spring框架的最佳实践,在代码和配置中避免类型转换错误,以确保应用程序的正确运行和可靠性。
seata无限失败重试Failed to retry rollbacking Unknown java.lang.RuntimeException: rm client is not connect
陆仁贾是陆仁贾:
seata无限失败重试Failed to retry rollbacking Unknown java.lang.RuntimeException: rm client is not connect
NEO.G:
docker虚悬镜像
@斯坦索姆:
线上使用雪花算法生成id重复问题
coolzpw:
Git安装
踏上旅途的风: