Web容器介绍

发布日期:2025-08-01 04:01:18 分类:best365网页版登录官网 浏览:5818

Servlet

Http服务器

在早期的Web中,服务器的作用只是存储静态资源供浏览器访问(比如图片、视频等等),这时的服务器功能并不需要多复杂,只需要做到解析请求、寻找资源、返回资源这些非业务功能即可即可。这里的服务器就是Http服务器。

interface Http {}

class HttpServer implements Http{

private String StaticResources;

public String GetRequest(){

// 简单查询返回

}

public String PostRequest(){

// 简单处理返回

}

}

class Browser{

public SendGetRequest(){

HttpServer.GetRequest();

}

}

Servlet

随着Web的发展,业务越来越复杂,交互越来越多。这时候需要根据Http请求调用不同的业务逻辑,但如果放在Http服务器中,就出现业务与非业务的混淆,于是需要再加一层来处理业务逻辑。

同时规定一个接口方便服务器与业务的对接,这就是Servlet。而Servlet容器是加载和管理这些实现Servlet的业务类。

interface Servlet{}

class ServletContainer implements Servlet{

private String BusinessLogic(){

// 使用Servlet的接口实现业务逻辑

// 返回处理结果

}

public GetRequest(){

// 获得从Http服务器发送来的请求

// 找到对应的业务逻辑

}

}

interface Http {}

class HttpServer implements Http{

private String StaticResources;

public String GetRequest(){

ServletServer.GetRequest();

}

public String PostRequest(){

ServletServer.GetRequest();

}

}

进一步职责分离

可以看到,Servlet服务器也是存在业务类(Servlet业务类)和非业务类的混合。

于是我们可以把Servlet类完全抽离出来,Servlet只负责处理Http服务器的请求和根据Http服务器请求寻找对应Servlet业务类。

抽离出Servlet业务类来后,维护一个配置文件,记录请求与Servlet业务的关系,这就是web.config。

Http服务器和Servlet容器被统一称为Web容器。

这也解释了在开发Servlet的时候,没有main方法,只能放到web容器中才能运行。

参考网站

为什么要有Servlet,什么是Servlet容器,什么是Web容器