我的目标是从数据库中提取数据不使用刷新网页。
当数据库中有新数据时,您需要单击刷新按钮或使用JavaScript自动刷新页面以查看jsp中的新数据。然而,
我希望我的结果像this youtube link。但是,这个youtube使用PHP。我正在使用JSP,SERVLET和数据访问对象从数据库中提取数据没有刷新网页。
能再帮我一下吗?以下是我的代码。帮助将是欣赏。提前致谢! :)
在 index.jsp
中<table>
<thead>
<tr>
<th>Menu</th>
<th>Quantity</th>
<th>Date</th>
<th>Time</th>
</tr>
</thead>
<tbody>
<c:forEach items="${order}" var="item">
<tr>
<td>${item.fbMenuName}</td>
<td>${item.quantity}</td>
<td>${item.date}</td>
<td>${item.time}</td>
</tr>
</c:forEach>
</tbody>
</table>
在 servlet
中 OrderDAO od = new OrderDAO();
request.setAttribute("order", od.getPendingOrders(restaurant));
RequestDispatcher view =
request.getRequestDispatcher("index.jsp"); view.forward(request,
response);
在 OrderDAO
中public ArrayList getPendingOrders(String restaurant) {
Connection currentCon = null; PreparedStatement ps = null; ResultSet rs = null;
ArrayList<OrderBean> listpendingorder = new ArrayList<OrderBean>();
try { currentCon = ConnectionManager.getConnection();
Statement statement = currentCon.createStatement(); rs =
statement.executeQuery("SELECT fbMenuName, quantity, date, time FROM
orders"); while (rs.next()) {
OrderBean ob = new OrderBean();
ob.setFbMenuName(rs.getString("fbMenuName"));
ob.setQuantity(rs.getString("quantity"));
ob.setDate(rs.getString("date"));
ob.setTime(rs.getString("time"));
listpendingorder.add(ob); } } catch (SQLException e) { e.printStackTrace();
}
return listpendingorder; }