Servlet、DispatcherServlet

本文深入探讨Apache Tomcat作为Web服务器的角色,以及Servlet在处理HTTP请求中的关键作用。通过理解Servlet的实现方式和模板方法模式的应用,揭示了HttpServlet为何被设计为抽象类及其背后的逻辑。

Apache Tomcat用Java编写,是一个Web服务器和Servlet服务器

web服务器的作用:将主机上某个资源映射为一个URL供外界访问
Servlet服务器:处理请求逻辑,本质上是一个包含5个抽象方法的接口
在这里插入图片描述
在javax.servlet包下,几个相关类的继承关系
  HttpServlet --> GenericServlet --> Servlet

在springframework.web包下,几个servlet相关类的继承关系
  DispatcherServlet --> FrameworkServlet --> HttpServletBean --> HttpServlet

如何实现一个Servlet:

  对于Servlet的实现,可以继承HttpServlet并重写doGet()/doPost()完成对应的逻辑即可。这是因为使用了模板方法模式,简化了普通开发人员的开发工作。

模板方法模式是指:抽象类实现部分固定统一的方法,并声明部分需要灵活变动的抽象方法,迫使子类去重写实现具体的逻辑,这就是模板方法模式。

为什么HttpServlet是一个抽象类

一个类声明成抽象方法,一般有两个原因:

  1. 有抽象方法
  2. 没有抽象方法,但是不希望被实例化

HttpServlet不希望被实例化,因为HttpServlet实现了一些必须的公共方法,为了让父类中公共的方法和子类中具体的业务逻辑并存,就必须继承。

更多Servlet讲解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值