Java 中的 Servlet 程序:面向初学者的 Servlet 教程 [2022]

已发表: 2021-01-02

目录

Java 小服务程序

它是一个 Java 编程语言类。 Java 中的 Servlet 程序运行在启用 Java 的 Web 应用程序或服务器上,用于处理从 Web 服务器接收到的请求,处理并产生对请求的响应,然后将响应发送回 Web 服务器。

这些 servlet 在服务器端工作。 它用于扩展服务器功能以托管应用程序以在编程中托管请求-响应模型。 它可以处理任何类型的请求,并且能够有效地处理复杂的请求。

阅读: Java 面试问答

使用 Java 使用的 Servlet 程序不依赖于该平台。 它根据接收到的客户端请求的类型创建进程。 它在 JVM( Java 虚拟机)上运行。 Java Servlet 程序遵循 Java 字节码。 Java Servlet 能够抵抗攻击。 其他优势包括更快的速度、便携性和效率。

它在处理脚本之前翻译和编译脚本。 Java Servlet 支持数据共享。 它可以直接与网络服务器通信并处理 cookie。 它比 CGI(通用网关接口等其他方法便宜

Java Servlet 架构

Java Servlet 体系结构包括通信接口、客户端和服务器要求、使用的协议以及涉及的编程语言和软件。

Java servlet 从客户端浏览器读取接收到的数据,这些数据可以是任何形式,例如 HTML(超文本标记语言)、自定义 HTTP(超文本传输​​协议)程序、applet 或隐式 HTTP 请求数据。 然后它通过与现有数据库通信来处理接收到的数据,并在生成结果之前执行其他步骤。

该结果(数据或文档)以各种格式发送给客户端,例如文本(HTML 或 XML(可扩展标记语言))、图像(二进制)。 最后,它向客户端发送一个隐式的 HTTP 响应,以通知他们返回的文档类型。

Java Servlet 生命周期的阶段

Java Servlet 的生命周期分为四个阶段,包括加载 Servlet、初始化 Servlet、处理请求和销毁 Servlet。 Servlet 容器在 Web 服务器启动时部署并加载所有接收到的 servlet。

它通过调用int()的方法来初始化 servlet Servlet 实例成功实例化及其服务指示通过调用Servlet.init()方法来指示。 客户端的请求由 Servlet 使用service()方法处理。 使用这种方法将客户端请求通知给 Servlet。

最后,这个创建的 Servlet 通过调用destroy()作为 Servlet 实例结束的信号来终止。 int() 和 destroy() 方法在 Java Servlet 的生命周期中调用一次。 最后,JVM 垃圾收集器收集 servlet 垃圾并结束 servlet 的生命周期。

另请阅读: Java 架构和组件解释

Java Servlet的执行步骤

Servlet 使用六个基本步骤执行,如下所示:

  1. 客户端将请求发送到 Web 应用程序/服务器。
  2. Web 应用程序/服务器接收请求。
  3. Web 应用程序/服务器将请求发送到适当的 servlet。
  4. servlet 在其生命周期中处理请求并生成响应作为输出。
  5. servlet 将响应发送回 Web 应用程序/服务器。
  6. 最后,Web 应用程序/服务器将此请求发送回客户端,客户端的浏览器将其显示在网页上。

报名参加世界顶尖大学的在线软件开发课程获得行政 PG 课程、高级证书课程或硕士课程,以加快您的职业生涯。

Java Servlet 类和接口

尽管 Java Servlet 可以创建动态网页,但此功能是由容器或 Web 服务器提供给网页的。 独立的 Web 服务器提供商提供专有的解决方案,如 API(应用程序编程接口)来满足这一要求。

使用这些 API,可以使用 Web 服务器构建和运行程序。 Java Servlet 是 Java 平台企业版,它是在用 Java 创建的动态 Web 应用程序中设置标准的组件 API 之一。

Java Servlet API 有两个重要的包来封装所有重要的接口和类,如下所示:

  • javax.servlet(基本)
  • Javax.servlet.http(高级)

下表包含 Java Servlet 的几个重要类和接口。

小服务程序类型包裹servlet 的 LifeCycle 方法声明
ServletConfig 界面javax.servlet 它允许 servlet 进行初始化方法
Servlet上下文班级javax.servlet 它使 servlet 能够记录访问和访问信息
Servlet请求界面javax.servlet 它用于从客户端请求中读取数据
小服务程序响应界面javax.servlet 它用于将数据写入客户端的响应
GenericServlet 班级javax.servlet 它实现了 Servlet 和 Servlet.config 接口
Servlet输入流班级javax.servlet 它提供输入流来读取从客户端接收到的请求
Servlet 输出流班级javax.servlet 它提供了一个输出流来向客户端写入响应
Servlet异常班级javax.servlet servlet 不可用的指示
HttpServlet 界面javax.servlet.http 处理 HTTP 请求和响应的方法

Servlet 容器

它是一组集成的对象,为 Java Servlet 组件提供运行时环境。 它提供网络、解码和编码基于 MIME(多用途 Internet 邮件扩展)的消息、Servlet 容器管理、资源和会话管理以及安全服务等服务。

必读:有趣的 Java 项目和主题

结论

因此,Java Servlet 用于在 Web 服务器上处理客户端请求时实现动态网页,同时提高速度和灵活性。

如果您有兴趣了解有关 Java、OOP 和全栈软件开发的更多信息,请查看 upGrad 和 IIIT-B 的全栈软件开发执行 PG 计划,该计划专为工作专业人士设计,提供 500 多个小时的严格培训, 9 个以上的项目和任务、IIIT-B 校友身份、实用的实践顶点项目和顶级公司的工作协助。

什么是 Java?

Java 作为一种编程语言是一种通用的计算机编程语言,它本质上是同步的、基于类的和面向对象的。 Java 语言开发的目标是尽可能减少实现约束。 一次编写,随处运行 (WORA) 概念支配着 Java 编程语言,这意味着一旦构建了代码,就可以在任何与 Java 兼容的平台上运行该代码,而无需重写。 Java 是一种静态类型的编程语言,用于 Web 开发、企业级应用程序、Android 开发和物联网 (IoT)。

Java Servlet 与通用网关接口相比有哪些优势?

与通用网关接口相比,Java Servlet 具有显着的优势 (CGI)。 Servlet 优于 CGI 的第一个也是最本质的优势是 Servlet 比 CGI 具有更好的性能。 与 CGI 不同,无需为每个客户端请求构建不同的进程。 Servlet 仅在 Web 服务器的地址空间内执行。 由于 Servlet 是用 Java 创建的,因此它们是独立的平台。 服务器上的 Java 安全管理器施加了一组约束来保护服务器的资源。 因此,servlet 可能是可信的。 servlet 可以访问 Java 类库的全部功能,而 CGI 不能访问整个库。

Servlet 的实际用例是什么?

Servlet 主要用于 HTML 和 HTTP。 它们用于读取浏览器显式发送的数据。 这可能是网页上的 HTML 表单、应用程序或定制的 HTTP 客户端软件的形式。 他们还可以访问浏览器的隐式 HTTP 请求数据。 这包含浏览器支持的 cookie、媒体类型和压缩算法等。 他们是处理数据并得出结果的人。 在此过程中,可能都需要与数据库交谈、进行 RMI 或 CORBA 调用、联系 Web 服务或直接计算响应。 它们还用于向浏览器提供显式数据,例如文档。 该文档可能以多种不同的形式交付,包括文本、二进制、图片、Excel 等。