java类继承HttpServlet类实现Servlet程序出现405错误:HTTP method POST is not supported by this URL

 

 

之前我通过一个java类继承GenericServlet实现了一个Servlet程序,过程很顺利没有出现问题

手写实现一个Servlet程序

 

后来我去继承GenericServlet的子类HttpServlet实现一个Servlet程序的时候一直报405错误。

会出现以下的错误信息:

 

按照正常情况,子类比父类更加丰富,不可能出现继承父类可以实现,继承子类就会无法实现的情况。

 

看了HttpServlet源码后,我发现这个HttpServlet类里面有两个service()方法,而我继承了HttpServlet类后重写了这个service()方法,在这个重写的方法里通过super调用了父类的service()方法,因为父类有两个service()方法,所以找不到这个路径,报405错误

public class one extends HttpServlet {
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        super.service(req, res);
        res.getWriter().println("我成功了");
    }

}

  

我继承GenericServlet类的时候是没有super.service(req, res);这一步的,后面我把这一步删除之后就可以正常运行了。

 

public class one extends HttpServlet {
    @Override
    public void service(ServletRequest req, ServletResponse res) throws ServletException, IOException {
        res.getWriter().println("我成功了");
    }

}

 

  

 

posted @ 2019-11-07 16:44  西红柿里没有番茄  阅读(465)  评论(0编辑  收藏  举报