关于Servlet报错:405 HTTP method GET is not supported by this URL问题解决方法

关于Servlet报错:405 HTTP method GET is not supported by this URL问题解决方法
在编写一个项目的某个Servlet时候,在运行时候,报出了错误 405 HTTP method GET is not supported by this URL(无法加载src中的类文件)

问题产生原因:

 1,继承自HttpServlet的Servlet没有重写对于请求和响应的处理方法:doGet或doPost等方法;默认调用父类的doGet或doPost等方法;

2,父类HttpServlet的doGet或doPost等方法覆盖了你重写的doGet或doPost等方法;

不管是1或2,父类HttpServlet的doGet或doPost等方法的默认实现是返回状态代码为405的HTTP错误表示

对于指定资源的请求方法不被允许。

问题解决方法:

1,子类重写doGet或doPost等方法;

2,在你扩展的Servlert中重写doGet或doPost等方法来处理请求和响应时 不要调用父类HttpServlet的

doGet或doPost等方法,即去掉super.doGet(request, response)和super.doPost(request, response);

在Servlet中接收参数要写在方法最前面。

以上的两种方法我没有做针对性的测试,只是没有解决了我的问题,如果其中有错误或者没有解决了您的问题,可以继续往下看,试试我的解决方法,以下是我的解决方法:

问题原因分析:

我写的Servlet是一个判断表单的程序,当我正常通过表单提交数据的时候,这时是不会报错的,只有当我直接访问Servlet的时候,才会报出上述错误,于是我想到了我的表单是通过POST方式提交的,而且我的Servlet中是写doPost方法,而没有写doGet方法,所以,当直接访问一个页面或者一个地址默认是通过GET方式访问的,所以默认调用的是doGet方法,而我的Servlet中没有doGet方法,才导致了上述错误的产生。

问题解决方法:

在Servlet中要有与提交方式对应的方法,即doPost或者doGet方法,直接访问Servlet而且没有声明访问类型,那么默认的是GET方式,所以要有doGet方法,如果以POST方式提交表单或者其他POST方式访问Servlet那么就要有doPost方法,如果上述两种情况都有可能出现,那么doGet和doPost就都必须存在,否则就会报出错误。

以上是我对于解决405 HTTP method GET is not supported by this URL错误的一种方法,可能会对一些网友有帮助,也可能没有帮到一些网友,希望大家能够在对于问题的解决方法做以补充。如果我的方法中存在不足或者错误的,也欢迎大家能够联系我指正。```

以上转载自:
https://www.cnblogs.com/kenticny/archive/2012/06/03/2533050.html
津志伊恋
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值