【发布时间】:2015-07-16 06:43:36
【问题描述】:
我在数据库中有一个表 testemployee 和三列 eid,ename,esalary。我想在 json 对象中显示表的所有行(稍后我想使用 kendo UI 网格为 json obj 提供一个 html 视图)我使用arraylist 存储所有数据行,然后将列表转换为 json。但是当我运行文件时,它显示 HTTP 状态 405 - 此 URL 不支持 HTTP 方法 GET
下面是我的代码
package com.JSONoflist;
import com.google.gson.Gson;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
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 java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import net.sf.json.JSONObject;
@WebServlet(urlPatterns = {"/list2json"})
public class list2json extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
Statement stmt = null;
ResultSet rs = null;
dbconn Obj = new dbconn();
Connection connection = Obj.Open();
try {
String qry = "SELECT * FROM testemployee";
stmt = connection.createStatement();
rs = stmt.executeQuery(qry);
JSONObject jObj = new JSONObject();
ArrayList<Employee> list = new ArrayList<Employee>();
Employee sPojo = null;
while (rs.next()) {
sPojo = new Employee();
sPojo.setId(rs.getString("eid"));
sPojo.setEname(rs.getString("ename"));
sPojo.setSalary(rs.getString("esalary"));
list.add(sPojo);
}
// String json = new Gson().toJson(list);
System.out.println(list);
jObj.put("testemployee", list);
System.out.println(jObj.toString());
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
我也尝试在 Arraylist 中使用静态值,但 http 错误。我错过了什么吗?请帮助我。由于这个错误,我什至无法检查 json 是否在 url 中显示数据库值。
@WebServlet(urlPatterns = {"/list2json"})
public class list2json extends HttpServlet
{
protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws IOException {
response.setContentType("text/html;charset=UTF-8");
PrintWriter out = response.getWriter();
try {
List<String> foo = new ArrayList<String>();
foo.add("A");
foo.add("B");
foo.add("C");
String json = new Gson().toJson(foo);
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
【问题讨论】:
-
非常感谢,但列表没有显示.. 你能帮我解决这个问题吗?