GenertcServlet
- 是一个Servlet,是Servlet接口和ServletConfig接口的实现类,是一个抽象类,其中的service方法为抽象方法。
- 如果新建的Servlet程序直接继承GenertcServlet会使开发更简洁。
- 具体实现:
在GenertcServlet中声明了一个ServletConfig类型的成员变量,在init(ServletConfig)方法中对其进行了初始化。
利用ServletConfig成员变量的方法实现了ServletConfig接口的方法。
还定义了一个init()方法,在init(ServletConfig)方法中对其进行调用,子类可以直接覆盖init()在其中实现对Servlet的初始化。
不建议直接覆盖init(ServletConfig),因为如果忘记编写super(ServletConfig)而还使用了ServletConfig接口的方法,则会出现空指针异常。
新建的init(){}并非Servlet的生命周期方法,而init(ServletConfig)是生命周期相关的方法。
HttpServlet
是一个Servlet,继承自GenertcServlet,针对于HTTP协议所定制
在service()方法中直接把ServletRequest和ServletResponse转为HttpServletRequest和HttpServletResponse,并调用了重载的service(HttpServletRequest,HttpServletResponse),在service(HttpServletRequest,HttpServletResponse)获取请求方式:request.getMethod,根据请求方式创建了doXxx()方法(Xxx为具体的请求方式)
实际开发中直接继承HttpServlet,并根据请求方式复写doXxx()方法接口
直接由针对性的覆盖doXxx()方法:直接使用HttpServletResponse,不再需要强转