Java 中的 Servlet
本文介绍了 servlet 是什么以及如何在 Java 中创建 servlet。
什么是小服务程序
Servlet 是一种服务器端技术,用于在 Java 中创建 Web 应用程序。它创建动态 Web 应用程序并提供由多个类和接口组成的 API 来管理应用程序。
使用 Servlet 的优点
在 servlet 出现之前,CGI(通用网关接口
)程序用于创建存在多个性能问题的服务器端程序。Servlet 比 CGI 具有优势,并提供以下优点:
- 由于多线程概念而具有更高的性能
- 无平台依赖性
- 便携的
- 由于 Java 字节码,安全可靠。
在 Java 中如何创建一个 Servlet
有多种方法可以创建 servlet 应用程序,例如使用以下任何类或接口:
-
实现
Servlet
接口 -
继承
GenericServlet
类 -
继承
HttpServlet
类
这些是用于创建 servlet 应用程序的一些类和接口。它们包含诸如 doPost()
和 doGet()
之类的方法来处理 HTTP 请求。
servlet 应用程序遵循特定的目录/项目结构,并包含一些必需的步骤,例如:
- 创建一个 servlet
- 创建部署描述符
- 将 servlet 应用程序部署到服务器 (apache tomcat)。
如前所述,要创建 servlet,我们需要扩展 HttpServlet
类并覆盖其方法。在这里,我们使用 doGet()
方法来处理 Get 请求。
下面是一个基本的 servlet 代码。
创建一个小服务程序
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
// Extending HttpServlet class
public class HelloServlet extends HttpServlet {
private String msg;
public void init() throws ServletException {
// Do required initialization
msg = "Hello Servlet";
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
// Setting content type for response
response.setContentType("text/html");
// printing msg to browser in h1 heading
PrintWriter out = response.getWriter();
out.println("<h1>" + msg + "</>");
}
public void destroy() {
// code to execute while destroy servlet.
}
}
输出:
此 servlet 代码将向浏览器打印以下消息。
创建部署描述符
这是一个 XML 文件,其中包含有关 servlet 的信息,Web 容器从该文件中获取所有信息。该文件使用了几个标签,例如 <web-app>
、<servlet>
、<servlet-mapping>
等。
它们都用于设置容器的信息。容器使用解析器来提取此信息。
请参阅我们的 HelloServlet 类的 servlet 描述符 (web.xml)。
<web-app>
<servlet>
<servlet-name>HelloServlet</servlet-name>
<servlet-class>HelloServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>HelloServlet</servlet-name>
<url-pattern>/helloservlet</url-pattern>
</servlet-mapping>
</web-app>
创建此 XML 文件后,编译 servlet 文件并将整个项目部署到 web 服务器,例如 apache tomcat。这是一个 Web 应用程序,因此它需要一个服务器才能运行。
部署项目后,启动服务器,通过输入浏览器的映射 URL’helloservlet’来访问 servlet。
Servlet 的重要包
Servlet API 包含两个主要的包,它们包含所有的类和接口。
- javax.servlet
- javax.servlet.http
Servlet 类
这些是一些常用的 servlet 类:
-
GenericServlet
-
ServletInputStream
-
ServletOutputStream
-
ServletRequestWrapper
-
ServletResponseWrapper
-
ServletRequestEvent
-
ServletContextEvent
-
HttpServlet
-
Cookie
-
HttpServletRequestWrapper
-
HttpServletResponseWrapper
-
HttpSessionEvent
小服务程序接口
这些是一些常用的 servlet 接口:
-
Servlet
-
ServletRequest
-
ServletResponse
-
RequestDispatcher
-
ServletConfig
-
ServletContext
-
Filter
-
FilterConfig
-
FilterChain
-
ServletRequestListener
-
HttpServletRequest
-
HttpServletResponse
-
HttpSession
-
HttpSessionListener
相关文章
如何在 Java 中延迟几秒钟的时间
发布时间:2023/12/17 浏览次数:217 分类:Java
-
本篇文章主要介绍如何在 Java 中制造程序延迟。本教程介绍了如何在 Java 中制造程序延时,并列举了一些示例代码来了解它。
如何在 Java 中把 Hashmap 转换为 JSON 对象
发布时间:2023/12/17 浏览次数:187 分类:Java
-
它描述了允许我们将哈希图转换为简单的 JSON 对象的方法。本文介绍了在 Java 中把 Hashmap 转换为 JSON 对象的方法。我们将看到关于创建一个 hashmap,然后将其转换为 JSON 对象的详细例子。
如何在 Java 中按值排序 Map
发布时间:2023/12/17 浏览次数:171 分类:Java
-
本文介绍了如何在 Java 中按值对 Map 进行排序。本教程介绍了如何在 Java 中按值对 Map
进行排序,并列出了一些示例代码来理解它。
如何在 Java 中打印 HashMap
发布时间:2023/12/17 浏览次数:192 分类:Java
-
本帖介绍了如何在 Java 中打印 HashMap。本教程介绍了如何在 Java 中打印 HashMap 元素,还列举了一些示例代码来理解这个主题。
在 Java 中更新 Hashmap 的值
发布时间:2023/12/17 浏览次数:146 分类:Java
-
本文介绍了如何在 Java 中更新 HashMap 中的一个值。本文介绍了如何在 Java 中使用 HashMap 类中包含的两个方法-put() 和 replace() 更新 HashMap 中的值。
Java 中的 hashmap 和 map 之间的区别
发布时间:2023/12/17 浏览次数:79 分类:Java
-
本文介绍了 Java 中的 hashmap 和 map 接口之间的区别。本教程介绍了 Java 中 Map 和 HashMap 之间的主要区别。在 Java 中,Map 是用于以键值对存储数据的接口,
在 Java 中获取用户主目录
发布时间:2023/12/17 浏览次数:218 分类:Java
-
这篇文章向你展示了如何在 Java 中获取用户主目录。本教程介绍了如何在 Java 中获取用户主目录,并列出了一些示例代码以指导你完成该主题。
Java 中 size 和 length 的区别
发布时间:2023/12/17 浏览次数:179 分类:Java
-
这篇文章教你如何知道 Java 中大小和长度之间的区别。本教程介绍了 Java 中大小和长度之间的区别。我们还列出了一些示例代码以帮助你理解该主题。
Java 中的互斥锁
发布时间:2023/12/17 浏览次数:111 分类:Java
-
了解有关 Java 中互斥锁的一切,在计算机科学领域,互斥或互斥被称为并发控制的属性。每台计算机都使用称为线程的最小程序指令序列。有一次,计算机在一个线程上工作。为了更好地理解,