Java servlet JSON 教程显示了如何从 Java servlet 返回 JSON 数据。 我们使用 Gson 库处理 JSON 数据格式。 该 Web 应用已部署在 Tomcat 服务器上。
Apache Tomcat 是由 Apache 软件基金会(ASF)开发的开源 Java Servlet 容器。 它是最流行的 Java Web 服务器。 Gson 是一个开放源代码 Java 库,用于将 Java 对象序列化和反序列化到 JSON 或从 JSON 反序列化。
Java Servlet
Servlet 是 Java 类,可响应特定类型的网络请求-最常见的是 HTTP 请求。 Java servlet 用于创建 Web 应用。 它们在 servlet 容器(例如 Tomcat 或 Jetty)中运行。 现代 Java Web 开发使用在 servlet 之上构建的框架。
JSON 格式
JSON(JavaScript 对象表示法)是一种轻量级的数据交换格式。 人类很容易读写,机器也很容易解析和生成。 JSON 的官方 Internet 媒体类型为application/json
。 JSON 文件扩展名是.json
。
Java Servlet JSON 应用
以下 Web 应用使用 Java Servlet 将数据(城市列表)以 JSON 格式发送到客户端。
这是项目结构。
pom.xml
这是 Maven POM 文件。 我们有两个工件:用于 Java servlet 的javax.servlet-api
和用于 Java JSON 处理的gson
。 maven-war-plugin
负责收集 Web 应用的所有工件依赖项,类和资源,并将它们打包到 Web 应用存档(WAR)中。
context.xml
在 Tomcat context.xml
文件中,我们定义了上下文路径。 它是 Web 应用的名称。
City.java
这是City
bean。 它具有三个属性:id,名称和人口。
GetCities.java
这是GetCities
servlet。 它从服务类检索数据,并将它们以 JSON 格式返回给客户端。
我们将响应对象的内容类型设置为application/json
。
我们得到了ServletOutputStream
,用于将数据发送到客户端。
从CityService
中,我们可以获得城市列表。
我们使用JsonConverter
将城市列表转换为 JSON 字符串。
JSON 字符串被写入ServletOutputStream
。
ICityService.java
ICityService
包含getCities()
合同方法。
CityService.java
CityService's
getCities()
方法返回城市对象的列表。 它使用 DAO 对象访问数据。
ICityDao.java
ICityDao
包含findAll()
合同方法。
CityDao.java
CityDao
是ICityDao
的实现。 为简单起见,我们不连接数据库。 我们只返回一个城市对象的列表。
JsonConverter.java
JsonConverter
将城市列表转换为 JSON 字符串。 我们使用 Gson 库。
index.html
主页包含一个调用 servlet 的链接。
使用 curl 创建请求
curl
是使用支持的协议之一从服务器传输数据或向服务器传输数据的工具。
这是输出。 使用curl
命令,我们向GetCities
Servlet 发出 HTTP GET 请求。
命名 JSON 数组
如果我们想命名返回的 JSON 数组,可以使用以下代码:
在 Servlet 中,我们将 JSON 数组放入另一个 JSON 对象中,并将属性命名为cities
。
在本教程中,我们从 Java servlet 发送了 JSON 数据。
您可能也对以下相关教程感兴趣: Java Servlet RESTful 客户端, Java Servlet 服务 XML 教程, Java Servlet PDF 教程,Java servlet 复选框教程, Java servlet 图像教程, Java Servlet HTTP 标头 或 Java 教程。