您的位置:首页 > 理论基础 > 计算机网络

Servlet HTTP method GET is not supported HTTP 405

2014-10-16 00:00 113 查看
摘要: 写好一个Servlet后访问时抛出"HTTP method GET is not supported by this URL"的错误 HTTP 405

写好一个Servlet后访问时抛出"HTTP method GET is not supported by this URL"的错误,先是自己找了一下原因,后又在网络查找相关的原因后找到解决方案。

问题的原因是用Eclipse生成Servlet时,会在doGet和doPost自动添加默认调用父类的构造方法,如下红色标识代码:

/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doGet(request, response);
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
super.doPost(request, response);
}


这个时候就会有个问题,如果直接调用父类的方法,就相当于父类HttpServlet的doGet或doPost方法覆盖了你重写的方法,而父类 HttpServlet的doGet或doPost方法的默认实现是返回状态代码为405的HTTP错误,表示对于指定资源的请求方法不被允许。删除以上 代码当中调用父类的方法后问题迎刃而解。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息