-1
該方案的主要功能是寫一個頁面顯示數據庫的內容,並可以實現分頁爲什麼分頁查詢不起作用
當您第一次訪問該頁面可以顯示數據庫的內容,但是,當你點擊下面的鏈接時頁面不能正常顯示數據庫的內容,頁面可以顯示一些標題
這是一個java的web代碼,和我的代碼有什麼問題?
當第一次訪問java web時,它是工作的,但是當我單擊頁面連接時,它只顯示標題並且不顯示數據庫。
package com.zigbee.data;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/**
* Servlet implementation class Data
*/
@WebServlet("/DataInfo")
public class DataInfo extends HttpServlet {
private static final long serialVersionUID = 1L;
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
response.setContentType("text/html; charset=utf-8");
PrintWriter out = response.getWriter();
String Num = request.getParameter("Num");
//out.println("<h1 align=center>基於ZigBee的客車超載管理系統</h1>");
//從數據庫中取出數據,並顯示
Connection ct = null;
PreparedStatement ps = null;
ResultSet rs = null;
int pageNow = 1; //當前頁
int pageSize = 20; //每頁顯示的記錄
int pageCount = 1; //共有多少頁
int rowCount = 1; //共有多少記錄
//接收提交的pageNow
String spageNow = request.getParameter("pageNow");
if(spageNow != null)
{
pageNow = Integer.parseInt(spageNow);
}
try {
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
ct = DriverManager.getConnection
("jdbc:sqlserver://localhost:1433; databaseName=zigbee", "sa", "123456");
//算出共多少頁
ps = ct.prepareStatement("select count(*) from data where Num="+Num+"");
rs = ps.executeQuery();
rs.next();
rowCount = rs.getInt(1);
pageCount = rowCount%pageSize==0 ? rowCount/pageSize : rowCount/pageSize+1;
ps = ct.prepareStatement("select top "+pageSize+" * from data where Time not in(select top "+(pageNow-1)*pageSize+" Time from data where Num="+Num+" order by Time desc) and Num="+Num+" order by Time desc");
rs = ps.executeQuery();
out.println("<table align=center width=400px border=2 >");
out.println("<tr align=center><th>時間</th><th>車號</th><th>限載人數</th><th>實載人數</th></tr>");
while(rs.next())
{
out.println("<tr><td>"+rs.getString(1)+"</td><td>"+rs.getString(2)+"</td><td>"+rs.getInt(3)+"</td><td>"+rs.getInt(4)+"</td></tr>");
}
out.println("</table>");
for(int i=1; i<=pageCount; i++)
{
out.println("<a href='/ZigBee/DataInfo?pageNow="+i+"'><"+i+"></a>");
}
} catch (Exception e) {
// TODO: handle exception
e.getStackTrace();
}finally{
try {
if(rs != null)
{
rs.close();
}
if(ps != null)
{
ps.close();
}
if(ct != null)
{
ct.close();
}
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
*/
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
// TODO Auto-generated method stub
this.doGet(request, response);
}
}
停止捕獲異常而忽略它。異常消息和堆棧跟蹤會告訴你什麼是錯誤的。 –
看來你不會在你的鏈接中添加Num作爲參數。 DataInfo需要它在我的index.jsp文件中顯示數據 –
Num – Alpace