Java 写一个servlet ,页面输入一个字符串如tom_jerry,后端返回json串 如下[{"name":"tom","age":19}, {"name":"jerry","age":19}]
时间: 2024-06-08 20:04:10 浏览: 20
在Java中,Servlet是一个服务器端的Java组件,用于处理HTTP请求并生成响应。为了实现你所描述的功能,首先确保你已经在项目中导入了Servlet API和JSON库(如Jackson或Gson)。这里我会给出一个简单的示例,展示如何创建一个处理GET请求的Servlet,接收输入字符串并返回JSON格式的数据。
```java
import javax.servlet.*;
import javax.servlet.http.*;
import java.io.*;
import com.fasterxml.jackson.databind.ObjectMapper;
public class NameListServlet extends HttpServlet {
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// 假设你有一个预先定义好的字符串数组或Map,用于存储数据
String[] names = {"tom", "jerry"};
int[] ages = {19, 19};
// 创建一个对象,将数据转换为JSON
List<Map<String, Object>> nameList = new ArrayList<>();
for (int i = 0; i < names.length; i++) {
Map<String, Object> map = new HashMap<>();
map.put("name", names[i]);
map.put("age", ages[i]);
nameList.add(map);
}
// 使用ObjectMapper将列表转换为JSON字符串
ObjectMapper mapper = new ObjectMapper();
String jsonString = mapper.writeValueAsString(nameList);
// 设置响应头,指定响应类型是JSON
response.setContentType("application/json");
// 将JSON字符串写入响应
response.getWriter().write(jsonString);
}
}
```
要部署这个Servlet,你需要在web.xml文件中配置Servlet和URL映射:
```xml
<web-app>
<!-- ...其他配置 -->
<servlet>
<servlet-name>NameListServlet</servlet-name>
<servlet-class>com.example.NameListServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>NameListServlet</servlet-name>
<url-pattern>/getNames</url-pattern> <!-- 这里可以自定义URL,例如输入为"tom_jerry" -->
</servlet-mapping>
<!-- ...其他配置 -->
</web-app>
```
当访问`http://yourserver.com/getNames`(替换为实际服务器地址)并输入字符串`tom_jerry`时,后端会返回JSON格式的数据。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)