HTTP服务器、Servlet容器、Tomcat

这个Servlet不陌生吧,但是我从来不知道它到底是个啥,直到某天,看了这个→从 Servlet 入手带你看架构和框架设计的套路

public class MyServlet extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doGet(req, resp);
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        super.doPost(req, resp);
    }
}

开搞!

1、正文

在早期,浏览器发起 HTTP 请求只是为了请求静态资源,用来处理 HTTP 请求并将相应的静态资源返回的程序或者叫服务器的东西,这个东西就是HTTP服务器

HTTP服务器的作用就是在于解析http请求,找到相应的静态文件并返回。

在这里插入图片描述

但是随着互联网发展,单纯的静态文件已经满足不了业务需求了。需要满足不同请求调用不同业务逻辑来进行响应,但是又不能在 HTTP服务器写上业务代码与非业务代码,所以我们需要进行一个抽象。

在这里插入图片描述

但是HTTP服务器是怎么知道它传给的是个啥东西,所以出现一个接口,也就是Servlet了,用来规范标准。

Servlet :Server Applet,全称 Java Servlet,指的是用Java 编写的服务端程序,每一个Servlet就是一个可以用来处理业务的程序。

同时还有一个Servlet 容器,来管理和加载Servlet 类,根据http请求来找到相应的servlet。

于是便有了下面的流程:

在这里插入图片描述

在servlet和Servlet容器之间的关系,由web.xml来保存。

Web服务器==HTTP服务器+Servlet服务器,像Tomcta和Jetty就包含了HTTP服务器和Tomcat服务器,所以它们也就是Web服务器。

2、框架设计套路

以下的情况估计没少见,框架一般使用接口+抽象类的方式。

接口: 用来约定一个固定的方法

抽象类: 实现以上接口,并实现部分通用的程序逻辑,做到代码的复用

实现类: 实现一些常用类,剩余一部分留给开发者自行扩展

已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 书香水墨 设计师:CSDN官方博客 返回首页