【发布时间】:2019-02-08 10:45:53
【问题描述】:
我正在使用 ajax 从我的服务器获取数据作为后端我正在使用 java-servlets
现在我面临的问题是:
- 我必须通过 ajax 为两个不同的工作调用两个数据
- 所以我目前正在做的是创建两个 servlet 类并对它们进行两个 ajax 调用
- 我正在用一个 servlet 的
doGet方法编写所有代码 - 并通过
url中的 ajax 调用,我给出了 servlet 类名
我要做什么
- 我不能创建一个 servlet,在其中我可以创建多个方法并在该 servlet 类方法上进行 ajax 调用
我在做什么
Servlet1 代码
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String categoryCode, categoryName, quantity,sql,str = null;
Gson gson = new Gson();
LinkedHashMap<Object, Object> lhm = null;
LinkedList<LinkedHashMap<Object, Object>> mainList = new LinkedList<LinkedHashMap<Object, Object>>();
try {
sql = "1";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
lhm = new LinkedHashMap<Object, Object>();
categoryCode = "A101";
categoryName = "drinks";
lhm.put("Category Code", categoryCode);
lhm.put("Category Name", categoryName);
mainList.add(lhm);
str = gson.toJson(mainList);
}
response.setContentType("application/json");
response.getWriter().write(str);
}}
Servlet2 代码
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String itemName, itemCode, quantity,sql,str = null;
Gson gson = new Gson();
LinkedHashMap<Object, Object> lhm = null;
LinkedList<LinkedHashMap<Object, Object>> mainList = new LinkedList<LinkedHashMap<Object, Object>>();
try {
sql = "2";
ResultSet resultSet = statement.executeQuery(sql);
while (resultSet.next()) {
lhm = new LinkedHashMap<Object, Object>();
itemName = "pepsi";
itemCode = "AA00";
lhm.put("Item Code", itemCode);
lhm.put("Item Name", itemName);
mainList.add(lhm);
str = gson.toJson(mainList);
}
response.setContentType("application/json");
response.getWriter().write(str);
}
还有我的ajax调用代码
$.ajax({
async: true,
url : "Servlet1",
method : "GET",
dataType : "json",
contentType: "application/json; charset=utf-8",
success : function(tableValue) {
addTable(tableValue)
}
});
现在我必须从我的数据库中获取数据并运行 2 个查询,并且必须对结果做两件不同的事情,但是现在通过创建新的 servlet 来做这件事看起来不太好 我不能在 servlet 中创建一个 doGet 并在这两个方法或任何两个方法中创建一个,以便两个 servlet 代码都可以写在一个servlet 中
注意:-我不了解 spring 框架,所以我只想借助 servlet 来完成
请大家指导一下我该怎么做
提前致谢
【问题讨论】:
-
也许你可以在你的 ajax 调用中传递一个不同的 url 参数?