为什么GenericServlet声明服务方法?

时间:2015-07-02 14:00:44

标签: java java-ee servlets abstract-class

我正在检查Servlet API,我注意到GenericServlet是一个实现javax.servlet.Servet接口的抽象类。我想知道为什么GenericServlet类的作者声明了一个抽象方法“service(ServletRequest req,ServletResponse res)”,如果这个方法已经在接口javax.servlet.Servlet中声明了。有什么想法吗?

1 个答案:

答案 0 :(得分:0)

Generic Servlet是抽象类,它实现了javax.servlet.Servlet和javax.servlet.ServletConfig接口。 这个类实现了Servlet接口,它提供了Servlet和ServletConfig接口中所有可用方法的默认实现。 在GenericServlet中,service()方法仍然是抽象的,这意味着任何扩展Generic Servlet的servlet都必须提供service()方法的实现。 因为这个方法是servlet完整逻辑的主要方法,而通用servlet如何知道要执行哪个逻辑。如果此方法不是抽象的,那么开发人员可能会将此方法保留为未实现。