首页 > 编程 > Java > 正文

Java JPS使用Servlet对数据库中数据分页显示

2019-11-08 01:28:03
字体:
来源:转载
供稿:网友

jsp java在Servlet 中对数据库中数据进行分页显示,为了实现在Servlet 中对数据库的分页显示,需要编写Servlet 的Java 程序,Servlet 程序为HttpServlet 接口的子类,在Servlet 中重写doGet()方法。将Servlet 类程序放到WEB服务器的servlets目录下面,为调用Servlet,需要创建发送Servlet 请求的HTML 文档,在表单调用时需要使用对应Servlet 的get 方法。程序代码如下:

1.OutDatabase 类包含两个字段:整型的count 和pcount,该类还有三个方法:init()、doGet()和destroy(),代码如下:

1public class outDatabase extends HttpServlet
2{
3int count=0;
4int pcount=1;
5public void init() throws ServletException;
6PRotected void doGet(HttpServletRequest request,HttpServletRespose response)
7throws ServletException,IOException
8public void destroy();
9}

2.Init()和destroy()方法不执行任何操作,doGet()方法连接数据库,执行查找,对数据库中数据实行分页显示,outDatabase 类的全部代码如下:

01import javax.servlet.*;
02import javax.servlet.http.*;
03import java.io.*;
04import java.sql.*;
05public class outDatabase extends HttpServlet
06{
07int count=0;
08int pcount=1;
09public void init() throws ServletException
10{
11}
12protected void doGet(HttpServletRequest request,HttpServletRespose response)
13throws ServletException,IOException
14{
15int rcount=0;
16boolean hasmore=false;
17java.io.PrintWriter out=new java.io.PrintWriter(response.getOutputStream());
18out.print("<html>");
19out.print("<head><title>数据分页显示</title></head>");
20out.print("<body>");
21try
22{
23Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
24}
25catch(Exception e){}
26try
27{
28Connection con=DriverManager.getConnection("jdbc:odbc:myDSN");
29String str="select * from chater";
30Statement sm=con.createStatement();
31ResultSet rs=sm.executeQuery(str);
32ResultSetMetaData rmd=rs.getMetaData();
33int ccount=rmd.getColumnCount();
34out.print("<center>");
35out.print("<table border=/"1/">");
36out.print("<tr>");
37//输出表头
38for(int i=1;i<=ccount;i++)
39{
40out.print("<th>");
41out.print(rmd.getColumnLabel(i));
42out.print("</th>");
43}
44out.print("</tr>");
45while(rs.next())
46{
47rcount++;
48if(rcount>count*pcount && rcount<=(count+1)*pcount)
49{
50out.print("<tr>");
51for(int i=1;i<=ccount;i++)
52{
53out.print("<td>");
54out.print(rs.getString(i));
55out.print("</td>");
56}
57out.print("</tr>");
58}
59if(rcount>(count+1)*pcount)
60{
61hasmore=rs.next();
62break;
63}
64}
65out.print("</table>");
66out.print("</center>");
67sm.close();
68con.close();
69}
70catch(SQLException e)
71{
72out.print(e.getMessage());
73}
74if(hasmore)
75{
76out.print("<br>");
77out.print("center>");
78out.print("<form action=/"submit/" value=/"next/">");
79out.print("</form>");
80out.print("</center>");
81}
82else
83{
84out.print("数据输出完成");
85}
86out.print("</body></html>");
87out.flush();
88count++;
89}
90public void destroy()
91{}
92}

3.因为程序使用了JDBC 类、servlet 类和使用控制台输出,所以需要引入如下的包:

1import java.sql.*;
2import java.io.*;
3import javax.servlet.*;
4import javax.servlet.http.*

4.编译outDatabase.java,产生outDatabase.class 文件,将outDatabase.class 放到WEB服务器的servlets 目录下,本例采用Java Web Server 作为WEB 服务器,配置好WEB 服务器,添加outDatabase.class,指定名称为outdatabase。

5.编写调用Servlet 的HTML 文件。程序如下:

01<html>
02<head>
03<title>Servlet数据库分页显示实例</title>
04</head>
05<body>
06<center>
07<form action="/servlet/outdatabase" method="get">
08<input name="action" type="submit" value="分页显示">
09</form>
10</center>
11</body>
12</html>

这是个比较简单的JSP数据分页一例,仅供参考。

天骄国际美易购随心所欲
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表