java - 从数据库中检索数据并以 json 格式显示
问题描述
我正在尝试从数据库中检索数据并以jSON
格式显示出来。但它显示的是空白页。
下面是我在文件中的java代码JsonServlet.java
:
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.json.simple.JSONObject;
/**
* Servlet implementation class JsonServlet
*/
@WebServlet("/JsonServlet")
public class JsonServlet extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#HttpServlet()
*/
public JsonServlet() {
super();
// TODO Auto-generated constructor stub
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
response.setContentType("text/html;charset=UTF-8");
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection(
"jdbc:mysql://localhost:3306/register","root","toor");
PreparedStatement pstmt = con.prepareStatement(
"select * from headwy " );
ResultSet rs = pstmt.executeQuery();
while(rs.next())
{
out.println("hiii");
JSONObject json = new JSONObject();
json.put("phone", rs.getString(1));
json.put("uname", rs.getString(2));
json.put("pass", rs.getString(3));
out.print(json);
}
}
catch (Exception e2) {System.out.println(e2);
}
}
}
我正在MySQl
用作数据库。以下是使用选择查询的数据库表的数据结果:
select * from head;
+----+-------+--------+-------------+
| id | name | salary | designation |
+----+-------+--------+-------------+
| 1 | srinu | 50000 | test |
| 2 | srinu | 500000 | devel |
| 3 | pawan | 100000 | net |
| 4 | ravi | 2000 | .net |
| 5 | ramya | 22222 | tester |
| 6 | srinu | 0 | sql |
| 7 | srinu | 200000 | test |
| 8 | srinu | 1000 | java |
| 9 | srinu | 11111 | html |
| 10 | srinu | 11111 | html |
| 11 | vv | 29999 | hg |
| 12 | s | 147 | aa |
| 13 | srinu | 5000 | test |
+----+-------+--------+-------------+
我需要帮助才能以正确的JSON
格式显示数据。任何建议总是受欢迎的。
解决方案
使用像 gson https://github.com/google/gson这样的库来简化 json 转换。
推荐阅读
- python - 如何在烧瓶应用程序中使用 MySQL 从用户输入将数据存储在我的数据库中。我收到一个错误
- python - 气流作业的 schedule_interval
- javascript - jQuery 中的 Accordion 让用户突然向上滚动页面
- python - 使用 python 执行命令提示符命令,但没有显示外部 matplotlib 窗口
- sql - 如何使用 Ruby on Rails 查询计算 SQL 数组中的元素
- javascript - vue-fullscreen 在 iframe 中不起作用
- asp.net-core - ASP.NET Core 3.0+ 中 MvcMiddleware 的替代品是什么?
- php-7 - 如何使用 switch 语句优化多个 if-else 语句?
- django - /register/new_reg/ register() 处的 TypeError 得到了意外的关键字参数“名称”
- karate - 空手道:无需修改标题的呼叫功能