1.创建SepPage类,并设置有关的方法。
2.在进行页面的转移时传递并当前的页面并传递参数。
3.进行分页处理。
a.计算总记录数
b.怎么样进行分页
c.首页显示处理
d.传递有关参数
e.获取有关传递的页面的参数
实例:以查询所有的用户信息为例子进行说明
-
packagebean;
-
-
publicclassSepPage
- {
-
privateintallRows;
-
privateintcurPage=1;
-
privateintrowPerPage=8;
-
privateintallPages;
-
publicintgetAllRows()
- {
-
returnallRows;
- }
-
publicvoidsetAllRows(intallRows)
- {
-
this.allRows=allRows;
- }
-
publicintgetCurPage()
- {
-
returncurPage;
- }
-
publicvoidsetCurPage(intcurPage)
- {
-
this.curPage=curPage;
- }
-
publicintgetRowPerPage()
- {
-
returnrowPerPage;
- }
-
publicvoidsetRowPerPage(introwPerPage)
- {
-
this.rowPerPage=rowPerPage;
- }
-
publicintgetAllPages()
- {
-
returnallPages;
- }
-
publicvoidsetAllPages(intallPages)
- {
-
this.allPages=allPages;
- }
- }
-
2.数据接收servlet
-
packageservlet;
-
importjava.io.IOException;
-
importjava.io.PrintWriter;
-
importjavax.servlet.ServletException;
-
importjavax.servlet.http.HttpServlet;
-
importjavax.servlet.http.HttpServletRequest;
-
importjavax.servlet.http.HttpServletResponse;
-
importbean.DBOperationBean;
-
importjava.util.*;
-
importutil.Convert;
-
importjava.sql.*;
-
importbean.*;
-
-
publicclassCustomerServletextendsHttpServlet
- {
-
-
publicstaticfinalStringSELECTBYALL="select*fromSCOTT.EXRM_T_CUSTOMERorderbyCUM_FULLNAME";
-
publicvoiddoGet(HttpServletRequestrequest,HttpServletResponseresponse)
-
throwsServletException,IOException
- {
-
this.doPost(request,response);
- }
-
publicvoiddoPost(HttpServletRequestrequest,HttpServletResponseresponse)
-
throwsServletException,IOException
- {
-
-
request.setCharacterEncoding("GBK");
-
response.setContentType("text/html;charset=GBK");
-
response.setCharacterEncoding("GBK");
-
Stringstatus=request.getParameter("status").trim();
-
Stringpath="error.jsp";
-
if(!status.equals("")||status!=null)
- {
-
-
if(status.equals("findall"))
- {
-
DBOperationBeandb=newDBOperationBean();
-
Stringpage=request.getParameter("curpage");
-
try
- {
-
intcurPage=Integer.parseInt(request.getParameter("curPage"));
-
-
SepPagepa=newSepPage();
- pa.setCurPage(curPage);
-
ArrayListal=db.query(this.SELECTBYALL,pa);
-
if(al!=null)
- {
-
-
path="TestMain2.jsp";
-
request.setAttribute("all",al);
- }
-
else
- {
-
path="error.jsp";
- }
-
- }
-
catch(Exceptionex)
- {
- ex.printStackTrace();
- }
- }
-
- }
- request.getRequestDispatcher(path).forward(request,response);
-
- }
- }
-
4.数据访问类
-
packagebean;
-
importjava.sql.*;
-
importjavax.sql.*;
-
importjavax.xml.parsers.DocumentBuilder;
-
importjavax.xml.parsers.DocumentBuilderFactory;
-
importjavax.naming.*;
-
importorg.w3c.dom.Document;
-
importorg.w3c.dom.Element;
-
importorg.w3c.dom.NodeList;
-
importjava.util.*;
-
importbean.SepPage;
-
-
publicclassDBOperationBean
- {
-
-
privatefinalStringDBDRIVER="oracle.jdbc.driver.OracleDriver";
-
-
privatefinalStringDBURL="jdbc:oracle:thin:@127.0.0.1:1521:data";
-
-
privatefinalStringDBUSER="SCOTT";
-
-
privatefinalStringDBPASSWORD="sqh";
-
-
privateConnectionconn=null;
-
privatePreparedStatementpstm=null;
-
privateResultSetrs=null;
-
publicDBOperationBean()
- {
-
this.init();
- }
-
privatevoidinit()
- {
-
conn=newDBConnection().getConnection();
- }
-
privateConnectiongetConnection()
- {
-
try
- {
- Class.forName(DBDRIVER);
-
-
conn=DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD);
-
System.out.println("connected");
- }
-
catch(Exceptionex)
- {
- ex.printStackTrace();
- }
-
-
-
returnthis.conn;
- }
-
-
publicArrayListquery(Stringsql,SepPagepage)throwsException
-
{
-
ArrayListal=newArrayList();
-
try
- {
-
Connectionconn=this.getConnection();
- pstm=conn.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,
- ResultSet.CONCUR_READ_ONLY);
- rs=pstm.executeQuery();
-
rs.last();
-
page.setAllRows(rs.getRow());
-
-
if(page.getAllRows()%page.getRowPerPage()==0)
- {
- page.setAllPages(page.getAllRows()/page.getRowPerPage());
- }
-
else
- {
-
page.setAllPages(page.getAllRows()/page.getRowPerPage()+1);
- }
-
-
if(page.getCurPage()==1)
- {
-
- rs.beforeFirst();
- }
-
else
- {
-
-
rs.absolute((page.getCurPage()-1)*page.getRowPerPage());
- }
-
inti=0;
-
while(rs.next()&&i<page.getRowPerPage())
- {
-
Customercu=newCustomer();
-
cu.setId(rs.getInt("CUM_ID"));
-
cu.setName(rs.getString("CUM_FULLNAME"));
-
cu.setAddress(rs.getString("CUM_MAINADDRESS"));
-
cu.setPhone(rs.getString("CUM_PHONE"));
- al.add(cu);
- i++;
- }
- }
-
catch(Exceptionex)
- {
- ex.printStackTrace();
- }
-
finally
- {
-
try
- {
-
if(conn!=null)
- {
-
this.conn.close();
- }
- }
-
catch(Exceptionex)
- {
- ex.printStackTrace();
- }
- }
-
returnal;
- }
- }
-
4、页面显示
-
<%@pagelanguage="java"contentType="text/html;charset=GBK"%>
-
<%@pageimport="java.util.*,bean.SepPage"%>
-
<%@pageimport="bean.Customer;"%>
- <%
-
ArrayListall=(ArrayList)request.getAttribute("all");
-
SepPageseppage=(SepPage)request.getAttribute("pagebean");
-
- %>
-
<!DOCTYPEHTMLPUBLIC"-//W3C//DTDHTML4.01Transitional//EN""http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
-
<htmlxmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title>客户管理</title>
-
<linkhref="css/style.css"rel="stylesheet"/>
- </head>
- <body>
-
<divclass="top">
- 『作者管理』
- </div>
-
<divclass="center">
-
<formaction="AuthorServlet?status=selectbylike&curPage=1"method="post"style="margin:0;">
-
<tableclass="fine"cellpadding="0"cellspacing="0">
- <tr>
-
<tdcolspan="3"style="height:40px;">
- </td>
- </tr>
- <tr>
- <td>
- 序号
- </td>
- <td>
- 客户名称
- </td>
- <td>
- 联系电话
- </td>
- <td>
- 地址
- </td>
- <td>
- 操作
- </td>
- </tr>
- <%
-
inti=0;
-
if(all!=null&&all.size()!=0)
- {
-
for(intj=0;j<all.size();j++)
- {
- i++;
- Customercus=(Customer)all.get(j);
-
intauthorId1=cus.getId();
-
Stringstr="找不到记录!!!";
-
if(i==0)
- {
-
-
-
out.println("<scrtipt>alert('找不到记录')<script>");
- }
-
else
- {%>
-
- <tr>
- <td>
- <%=i%>
- </td>
- <td>
- <%=cus.getName()%>
- </td>
- <td>
- <%=cus.getPhone()%>
- </td>
- <td>
- <%=cus.getAddress()%>
- </td>
- <td>
-
<td><ahref="CustomerServlet?status=selectbyid&id=<%=cus.getId()%>">更新</a> </td>
-
-
<td><ahref="CustomerServlet?status=delete&id=<%=cus.getId()%>"onclick="if(confirm('是否删除业务信息?')){returntrue;}else{returnfalse;}">删除</a> </td>
-
<td><ahref="addCus.jsp">添加</a></td>
- </tr>
-
- <%}%>
-
- <%
-
}
-
}
- %>
- <%
-
if(seppage!=null){
- %>
- <tr>
-
<tdcolspan="3"
-
style="height:32px;text-align:right;font-weight:bold;padding-right:10px;">
-
<fontcolor="#FF5BAD">一共有 <fontcolor="red"><%=seppage.getAllPages()%></font> 页 当前在第 <font
-
color="red"><%=seppage.getCurPage()%></font> 页 </font>
- <%
-
if(seppage.getCurPage()!=1)
- {
- %>
-
<ahref="CustomerServlet?status=selectbyall&curPage=1">首页</a>
- <a
-
href="CustomerServlet?status=selectbyall&curPage=<%=seppage.getCurPage()-1%>">上一页</a>
- <%
- }
- %>
-
- <%
-
if(seppage.getCurPage()!=seppage.getAllPages())
- {
- %>
- <a
-
href="CustomerServlet?status=selectbyall&curPage=<%=seppage.getCurPage()+1%>">下一页</a>
- <a
-
href="CustomerServlet?status=selectbyall&curPage=<%=seppage.getAllPages()%>">末
- 页</a>
- <%
- }
- %>
- </td>
- </tr>
- <%
- }
- %>
- </table>
- </form>
-
<formaction="CustomerServlet?status=selectbylike&curPage=1"method="post"style="margin:0;">
-
<tableclass="fine"cellpadding="0"cellspacing="0">
- <tr>
-
<tdcolspan="3"style="height:40px;">
-
<selectstyle="height:20px"name="sel">
-
<optionselectedvalue="由客户姓名">
- 由客户姓名
- </option>
-
<optionvalue="由地址">
- 由地址
- </option>
- </select>
-
-
<inputtype="text"name="in"style="width:200px"/><inputtype="submit"value="查找"/>
- </td>
- </tr>
- </table>
- </form>
- </div>
- </body>
分享到:
相关推荐
**标题:“jsp+servlet分页”** 在Web开发中,数据分页是一种常见的技术,用于在用户界面上显示大量数据时提高性能和用户体验。这里我们主要讨论如何在Java Web环境中,利用JSP(JavaServer Pages)和Servlet进行...
在Java Web开发中,"jsp+servlet 分页"是一个常见的技术组合,用于处理大量数据的显示问题。在网站或应用程序中,如果一次性加载所有数据,不仅会消耗大量资源,也会影响用户体验。因此,分页是一种优化策略,它将...
### Servlet分页通用代码知识点详解 #### 一、分页技术概述 在Web开发中,分页技术是一种常见的数据展示方式,特别是在处理大量数据时,能够显著提高用户体验和服务器性能。分页的基本思想是将查询结果分成多个...
"Ajax + Servlet" 分页技术是结合了异步JavaScript和XML(Ajax)与Java Servlet技术来实现在不刷新整个页面的情况下动态加载分页内容。本文将深入探讨这种技术的实现原理和步骤。 首先,让我们理解Ajax的核心概念。...
本主题主要探讨的是使用Java、Servlet以及JSP进行分页操作的方法和技术。以下将详细介绍这些技术及其背后的原理。 首先,让我们从Java和Servlet的角度来看分页。在服务器端,Servlet扮演着接收请求、处理数据并返回...
jsp加servlet分页代码,jsp加servlet分页代码jsp加servlet分页代码jsp加servlet分页代码jsp加servlet分页代码jsp加servlet分页代码jsp加servlet分页代码
4. **Servlet分页优化**: - 为了提高性能,Servlet应该缓存已处理过的分页结果,避免对数据库进行不必要的重复查询。 - 考虑使用懒加载策略,只在用户滚动到Grid底部时加载下一页数据,这称为无限滚动分页。 5. ...
在这个“jsp + servlet分页代码”中,我们很显然关注的是如何实现数据库查询结果的分页展示。分页是一种有效的优化策略,它能帮助用户更方便地浏览大量数据,同时减轻服务器负载。 首先,我们需要理解JSP和Servlet...
【标题】"jsp/servlet分页带查询示例"是一个典型的Web开发教程,它涵盖了如何在Java Web应用程序中实现分页查询的功能。这个示例包括了必要的组件和步骤,帮助开发者理解如何在JSP(JavaServer Pages)和Servlet中...
下面将详细探讨JSP Servlet分页技术的相关知识点。 一、JSP分页原理 JSP分页主要涉及两个关键部分:前端展示和后端逻辑。前端通常使用HTML和CSS构建分页界面,如“上一页”、“下一页”等链接,而后端则负责处理...
"servlet分页(自己写的一个分页,每次做项目都用这个)" 是一个自定义的Servlet实现,它提供了基本的分页功能,适用于各种需要展示大量数据的Web应用程序。下面我们将深入探讨Servlet分页的核心概念、实现方式以及与...
以下是一个简单的Servlet分页实现步骤: 1. **接收请求参数**: 在`doGet`或`doPost`方法中,获取请求参数,例如: ```java int pageNo = Integer.parseInt(request.getParameter("pageNo")); // 当前页码 int ...
【标题】:“jsp+servlet分页程序” 在Web开发中,使用JSP(JavaServer Pages)和Servlet技术处理用户请求并展示动态内容是常见的做法。本分页程序结合了这两种技术,以提供高效的数据库查询结果分页显示。通过集成...
这是一个用Servlet技术分页的组件、直接导入这个jar包就可以使用分页组件了、很方便的。有一个分页标签 在页面中就用这个分页标签来完成数据的分页吧!!!多谢欣赏哦!
在这个"jsp+jdbc+servlet分页带增删查改"项目中,开发者使用了MVC(Model-View-Controller)架构模式,实现了对数据的CRUD(Create, Read, Update, Delete)操作,并提供了分页功能。** 1. **JSP(JavaServer Pages...
这是一个jsp+javaBean+servlet分页 主要功能 是通过 jstl标签中的 中的开始 begin和末尾end、list结果集的items属性 操作整个分页。大家有兴趣看看
具体到本示例的"20131210servlet分页"文件,它可能包含了以下内容: - `Servlet`类,实现了上述的分页逻辑,可能包括`doGet`或`doPost`方法。 - `JSP`页面,使用了EL表达式和JSTL标签来展示数据和分页链接。 - 可能...
使用FreeMarker配合Servlet写了一个分页程序,使用环境是Java7和Tomcat7,Eclipse 4.2,程序比较简单,并且加了注释,应该算是清楚易懂吧,适合初学者(我本身也是初学者),有问题私信可以再和大家讨论。