Servlet 工作原理?

2024 年 8 月 29 日 | 阅读 2 分钟

了解 Servlet 的工作原理对于很好地理解 Servlet 非常重要。在这里,我们将深入了解第一个 Servlet 程序。

服务器检查是否是第一次请求 servlet。

如果是,web 容器执行以下任务

  • 加载 servlet 类。
  • 实例化 servlet 类。
  • 调用 init 方法,传递 ServletConfig 对象

else

  • 调用 service 方法,传递请求和响应对象

Web 容器在需要删除 servlet 时(例如,停止服务器或取消部署项目时)调用 destroy 方法。


Web 容器如何处理 servlet 请求?

Web 容器负责处理请求。 让我们看看它如何处理请求。

  • 在 web.xml 文件中将请求与 servlet 关联。
  • 为此请求创建请求和响应对象
  • 在线程上调用 service 方法
  • 公共 service 方法在内部调用受保护的 service 方法
  • 受保护的 service 方法根据请求的类型调用 doGet 方法。
  • doGet 方法生成响应并将其传递给客户端。
  • 发送响应后,Web 容器删除请求和响应对象。线程包含在线程池中或删除,具体取决于服务器的实现。

公共 service 方法里面写了什么?

公共 service 方法将 ServletRequest 对象转换为 HttpServletRequest 类型,并将 ServletResponse 对象转换为 HttpServletResponse 类型。然后,调用 service 方法,传递这些对象。 让我们看一下内部代码


受保护的 service 方法里面写了什么?

受保护的 service 方法检查请求的类型,如果请求类型是 get,它调用 doGet 方法,如果请求类型是 post,它调用 doPost 方法,依此类推。 让我们看一下内部代码