post提交遇到“405 Not Allowed”.怎么解决

 我来答
Do_Gangsta_Rap
2016-12-02
知道答主
回答量:1
采纳率:0%
帮助的人:1040
展开全部

你的servlet端设置的有问题。

你应该将你的servlet类按如下两种方式

  1. 重写父类HttpServlet中的service方法。但切记重写的子类方法中不可存在super.Serive();

  2. 或者在你的Servlet中重写 doPost和doGet方法。但切记重写的这俩子类方法不可存在super.doPost()和super.doGet();


以后遇到405问题都应该先检查你的servlet是否写对了。产生这个问题的原因是因为servlet采用了“模板方法”这种设计模式。这种设计模式就是要父类留步骤给子类完成。父类中无论调用doPost方法还是调用doGet方法你的程序都会报错,产生405错误。唯有你按以上两种方式重写,才可以避免错误。


至于为什么servlet这么设计,你可以去学习一下“模板方法”这种设计模式。

至于为什么有以上两种解决办法呢?因为service方法中调用了doPost和doGet.你重写调用者,还是重写调用的内容,两种办法都随你。但是就唯独不可以调用父类的super.方法名。调了直接报错。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式