springboot出现There was an unexpected error (type=Method Not Allowed, status=405).

There was an unexpected error (type=Method Not Allowed, status=405).springboot使用自定义servlet配置时采的坑

![在这里插入图片描述](https://img-blog.csdnimg.cn/20200922214439825.png#pic_center在这里插入图片描述

1.原因

自定义Servlet组件时默认有supper.doGet/Post方法

在这里插入图片描述
可以打开这个方法仔细看看
在这里插入图片描述
再打开sendMethodNotAllowed(req,resp,msg)方法看看

在这里插入图片描述
可以看到,这就是我们405原因的来源。

2.解决

去掉父类的doGet方法即可。
如果改成this.doPost(),这样不论是post还是get请求都能处理。
在这里插入图片描述

3.总结

1.如果父类中的方法没有任何代码,可以删除super的调用。

2.如果父类中的这个方法有代码,并且子类需要父类的代码实现的功能,则必须保留super调用。

3.简单来说,它是在重写父类方法了,supper.doGet/Post已经设置错误了,不能再调用了。它默认这样写的原因还不清楚,可能是在坑人吧。