什么是 Servlet 容器?

article/2025/9/19 5:43:34

目录

1、什么是 Web 服务器?

2、什么是 Servlet 容器?

3、什么是 Servlet?

4、Servlet 容器和 Web 服务器如何处理一个请求的?

5、JVM 的作用


我们简单的谈一谈关于 Web 服务器, Servlet 容器及其与 JVM 的关系。其实 Servlet 容器只不过是一个 Java 程序。

1、什么是 Web 服务器?

想要了解什么是 Servlet 容器,首先需要知道什么是 Web 服务器。

Web 服务器使用 HTTP 协议传输数据。在一般情况下,用户在浏览器(客户端)中键入 URL(例如www.baidu.com/static.html),并获取要读取的网页。所以服务器所做的就是向客户机发送一个网页。信息的交换采用指定请求和响应消息的格式的 HTTP 协议。

2、什么是 Servlet 容器?

正如我们看到的,用户/客户端只能从服务器请求静态网页。如果用户希望根据自己的输入阅读网页,那么这还不够好。Servlet 容器的基本思想是使用 Java 动态生成服务器端的网页。所以 Servlet 容器本质上是与 Servlet 交互的 Web 服务器的一部分。

“Servlet 容器”是一个装载一堆 Servlet 对象的“器具”(容器),并且具备管理这些对象的功能。

3、什么是 Servlet?

Servlet 是 javax.servlet 包中定义的接口。它声明了 Servlet 生命周期的三个基本方法:init()、service() 和 destroy()。它们由每个 Servlet Class(在 SDK 中定义或自定义)实现,并由服务器在特定时机调用。

  • init() 方法在 Servlet 生命周期的初始化阶段调用。它被传递一个实现 javax.servlet.ServletConfig 接口的对象,该接口允许 Servlet 从 Web 应用程序访问初始化参数。
  • service() 方法在初始化后对每个请求进行调用。每个请求都在自己的独立线程中提供服务。Web容器为每个请求调用 Servlet 的 service() 方法。service() 方法确认请求的类型,并将其分派给适当的方法来处理该请求。
  • destroy() 方法在销毁 Servlet 对象时调用,用来释放所持有的资源。

从 Servlet 对象的生命周期中,我们可以看到 Servlet 类是由类加载器动态加载到容器中的。每个请求都在自己的线程中,Servlet 对象可以同时服务多个线程(线程不安全的)。当它不再被使用时,会被 JVM 垃圾收集。
像任何Java程序一样,Servlet 在 JVM 中运行。为了处理复杂的 HTTP 请求,Servlet 容器出现了。Servlet 容器负责 Servlet 的创建、执行和销毁。

4、Servlet 容器和 Web 服务器如何处理一个请求的?

  1. Web 服务器接收 HTTP 请求。
  2. Web 服务器将请求转发到 Servlet 容器。
  3. 如果对应的 Servlet 不在容器中,那么将被动态检索并加载到容器的地址空间中。
  4. 容器调用 init() 方法进行初始化(仅在第一次加载 Servlet 时调用一次)。
  5. 容器调用 Servlet 的 service() 方法来处理 HTTP 请求,即读取请求中的数据并构建响应。Servlet 将暂时保留在容器的地址空间中,可以继续处理其它 HTTP 请求。
  6. Web 服务器将动态生成的结果返回到浏览器/客户端。

5、JVM 的作用

Servlet 允许 JVM 在处理每个请求时使用单独的 Java 线程,这是 Servlet 容器的一个主要优点。每个 Servlet 是一个 Java 类,具有响应 HTTP 请求的特殊元素。

Servlet 容器的主要功能是将请求转发到正确的 Servlet 进行处理,并在 JVM 处理完后将动态生成的结果返回到正确的位置。

在大多数情况下, Servlet 容器在单个 JVM 中运行,但是当容器需要多个 JVM 时,会有一些其它的解决方案。

 

英文原文:https://dzone.com/articles/what-servlet-container


http://chatgpt.dhexx.cn/article/67Npv9cf.shtml

相关文章

Java学习——Servlet是什么

我们在学习了J2EE的十三个规范之后,只是对他们有了一个简单的认识,而接下来需要我们做的就是一个个研究,进行深入学习。在十三个规范中,比较常用的有JSP,Servlet,EJB,JNDI等,那么今天…

servlet是干什么的?

知乎上一个名为“servlet的本质是什么,它是如何工作的?”问题下面的各种回答,基本解答了我的疑问。 感谢。 现在,做一个知识的搬运工…… 1. 浏览器发送一个HTTP请求,HTTP请求由Web容器分配给特定的Servlet进行处理&…

说说你对servlet 的理解或者 servlet 是什么?

说说你对servlet的理解或者 servlet 是什么? Servlet(Servlet Applet),全称Java Servlet,是用Java编写的服务器端程序。而这些Servlet都要实现Servlet这个接口。其主要功能在于交互式的浏览和修改数据,生成动态Web内容…

servlet到底是什么

servlet到底是什么?对于这个问题一直云里雾里的,今天打算刨根问底。 一、Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术。  Sun公司在其API中提供了一个servlet接口,用户若想用发一个动态web资源(即开发一个Java程序向…

Java Web 基础之Servlet概念详解(Servlet是什么?主要功能?基础重点运用?)

目录 一、Servlet是什么1.1 Servlet1.2 Servlet API 二、Servlet的主要功能2.1 Servlet的简单运用流程展示2.2 Servlet API常用功能概览2.2.1 Servlet2.2.2 GenericServlet2.2.3HttpServlet2.2.4 ServletRequest和ServletResponse2.2.5 ServletConfig和ServletContext2.2.5 Req…

什么是 Servlet?

什么是Servlet? Servlet(Server Applet),全称Java Servlet,是用Java编写的服务器端程序。其主要功能在于交互式地浏览和修改数据,生成动态Web内容。 狭义的Servlet是指Java语言实现的一个接口,广义的Servl…

servlet新手入门教程-hello world!!!

Servlet 是什么? Java Servlet 是运行在 Web 服务器或应用服务器上的程序,它是作为来自 Web 浏览器或其他 HTTP 客户端的请求和 HTTP 服务器上的数据库或应用程序之间的中间层。 使用 Servlet,您可以收集来自网页表单的用户输入&#xff0c…

文件服务器鉴权,鉴权和认证服务器

目前登录凭证的方式无非两种: 一个是通过服务器端的session,一个是通过浏览器的cookie. 简而言之:session和cookie 常规的是通过session 步骤: 1,用户在浏览器登录 2,后台鉴权,若登录成功,则把用户信息写入session,servlet自动生成JSESSIONID 返回浏览器; 3,浏览器把JSESSIONID…

接口鉴权实践

我们知道,做为一个web系统,少不了要调用别的系统的接口或者是提供接口供别的系统调用。从接口的使用范围也可以分为对内和对外两种,对内的接口主要限于一些我们内部系统的调用,多是通过内网进行调用,往往不用考虑太复杂…

登录鉴权

注册登录鉴权 1.1.用户注册 前台需要给我们传递用户名、密码、手机号、手机验证码。验证用户前台传过来的数据是否符合规范,我们使用的Hibernate Validator框架实现的服务端表单校验。短信验证码这块,我们采用的阿里的大于短信接口来做的,我…

登陆鉴权方案设计

一、概述 登陆和认证是什么?都是在鉴别用户的身份。如何鉴定识别出这是哪个用户?或者说,有什么方式只有用户自己知道(够安全),又能说出这是他自己?于是就有了"用户名密码"、"用…

鉴权html5服务器,前端鉴权知识学习

1、Cookie 指某些网站为了辨别用户身份而储存在用户本地终端(Client Side)上的数据(通常经过加密)。 HTTP是一种无状态传输协议,它不能以状态来区分和管理请求和响应。也就是说,服务器单从网络连接上无从知道客户身份。于是给客户端发布一个通行证—cook…

接口鉴权功能的实现

一、背景 随着系统的发展,单体应用逐渐演化成微服务架构。系统微服务化之后,若干个微服务之间会有调用。同个部门内实现的服务会被内部调用,一般风险是可控的。但是如果服务提供给别的部门使用之后,在不了解对方的使用场景&#…

JWT鉴权

文章目录 一、什么是JWT二、JWT能做什么三、JWT介绍以及和传统Session的区别1)基于传统的Session认证2)基于JWT认证 四、JWT的构成和认证流程五、JWT的优缺点 一、什么是JWT JSON Web Token (JWT) is an open standard (RFC 7519) that defines a compact and self-contained …

API签名鉴权设计

鉴权作用 在实际的业务中,必然会存在和其他平台系统进行数据传输。这个时候出于对数据的保密要求,都会对接口(API)添加鉴权机制,识别调用方的真实身份,对未通过鉴权的请求不做任何业务处理,以帮…

ak和sk怎么认证 海康威视_aksk鉴权

简介 鉴权功能的位置处于基础服务的接入网关中。 1. 认证简介 本鉴权方案是在api层面上进行,通过使用Access Key/Secret Key加密的方法来对验证某个请求的调用者身份。 当接入网关接收到业务调用方的请求时,将使用相同的SK和同样的认证机制生成认证字符串,并与用户请求中包含…

Kafka鉴权

1.SecurityProtocol 参见官方介绍 如图第一个是无需加密,无需鉴权的 第二个是使用sasl鉴权,不加密 该参数需要在服务端进行配置,client端也需要进行相应的配置 2.sasl.mechanism 消息收发的机制,默认为PLAIN。具体介绍参见该文档…

后端认证鉴权

之前我们把redis缓存工具模块做好了、下面结合RBAC权限模型,我们来进行用户的认证鉴权设计。关于RBAC权限模型在之前的文章跟网上都有很多很详细的描述,这里就简单说一下、就是通过用户关联角色(多对多)、角色关联权限&#xff08…

Postman鉴权

Ok, 今天我们来学习 一下 鉴权 鉴权(authentication) 是指验证用户是否拥有访问系统的权利。传统的鉴权是通过密码来验证的。这种方式的前提是,每个获得密码的用户都已经被授权。在建立用户时,就为此用户分配一个密码,…

详解 http 鉴权

详解 http 鉴权 【总结分享】10种常用前后端鉴权方法,让你不再迷惘 🌟🌟🌟 前端开发登录鉴权方案完全梳理 🌟🌟🌟 实践出真知,聊聊 HTTP 鉴权那些事 注:此处主要讲的是…