Servlet的继承结构分析

Servlet接口最初包含五个方法,通常只关注init、service和destroy。为简化实现,引入了GenericServlet抽象类,提供默认实现并只需重写service。然而,由于协议需求,HttpServlet进一步扩展,通过doGet、doPost等处理特定HTTP方法的请求。现代Servlet开发中,继承HttpServlet并覆写doGet和doPost等方法。
摘要由CSDN通过智能技术生成

最开始的servlet接口
public interface Servlet {
public void init (ServletConfig config) throws ServletException;
public void service (ServletRequest req, ServletResponse res) throws ServletException, IOException;
public void destroy ();
public String getServletInfo ();
public ServletConfig getServletConfig ();
}
有这五种方法,但是有个问题是我们在用servlet接口的时候,要重写这五个方法,但实际上我们最常用的还是init(),service(),destroy()这三个方法,于是我们发展出了GenericServlet抽象类,用于用于包装Servlet接口,其中提供了很多Servlet接口的默认实现,这样我们实现Servlet的时候,就不必实现Servlet接口的所有方法,只重写核心方法即可。
GenericServlet抽象类,定义了一个通用的,不依赖于具体协议的servlet,给出了除了service()方法外的其余四个方法的实现。所以当我们写了一个类继承GenericServlet的话,只需要重写service方法,但由于GenericServlet不带有具体协议,只要浏览器有发送请求,GenericServlet不会区分出是什么请求,就会直接调用你重写的service方法,于是servlet又“升级”了一次,也就是HttpServlet

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值