我正在检查Servlet API,我注意到GenericServlet是一个实现javax.servlet.Servet接口的抽象类。我想知道为什么GenericServlet类的作者声明了一个抽象方法“service(ServletRequest req,ServletResponse res)”,如果这个方法已经在接口javax.servlet.Servlet中声明了。有什么想法吗?
答案 0 :(得分:0)
Generic Servlet是抽象类,它实现了javax.servlet.Servlet和javax.servlet.ServletConfig接口。 这个类实现了Servlet接口,它提供了Servlet和ServletConfig接口中所有可用方法的默认实现。 在GenericServlet中,service()方法仍然是抽象的,这意味着任何扩展Generic Servlet的servlet都必须提供service()方法的实现。 因为这个方法是servlet完整逻辑的主要方法,而通用servlet如何知道要执行哪个逻辑。如果此方法不是抽象的,那么开发人员可能会将此方法保留为未实现。