jsp+servlet+javaBean实现分页

掌握分页查询:结合Servlet、JSP与JavaBean的实战指南 JavaBean是遵循特定规范编写的Java类,它应具有私有的属性(使用private修饰符),以及公开的无参构造函数和属性的getter/setter方法。由于其规范的封装和易于复用的特点,JavaBean常被用于表示数据模型,或作为业务组件实现特定的业务逻辑。// 无参构造函数// getter 和 setter 方法return id; 阅读详情

JavaBean+Servlet+jsp实现分页显示(原创)

 

实现效果图

。。。。。。。。。。。。。。。

。。。。。。。。。。。。。。。

第一页  上一页  下一页  最后一页


代码:

(1)JavaBean //该javaBean需要连接一次数据库

PageDivide.java

 

package com.bean;

importjava.io.UnsupportedEncodingException;

import java.sql.*;

import java.util.ArrayList;

import java.util.List;

import com.myutil.DBCon;

 

public class PageDivide {

      

       intsumRecord=0;   //显示的总记录条数

   int pageRecord=10;   //每页显示的记录数

   int pageNum=0;      //显示的总页码数

   int showPage=1;   //所要显示的页码数

   

    privateConnection con=null;

   private PreparedStatement pstm=null;

   private ResultSet rs=null;

   private String sql="select * from category";//换成自己的表名

   public PageDivide(){

           //数据库连接

           con=DBCon.getConn();

            try {

                     pstm=con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_UPDATABLE);

                     rs=pstm.executeQuery();

              }catch (SQLException e) {

                     //TODO Auto-generated catch block

                     e.printStackTrace();

              }

              this.sumRecord=this.getSumRecord();

       //     this.setSumRecord(this.getSumRecord());

              this.pageNum=this.getPageNum();

    }

   

   //获取总记录数

       publicint getSumRecord() {

              try{

                     rs=pstm.executeQuery();

                     rs.last();

                  sumRecord=rs.getRow();

 

              }catch (SQLException e) {

                     //TODO Auto-generated catch block

                     e.printStackTrace();

              }

      

             

              returnsumRecord;

       }

      

      

       publicList getData(int n){

              Listlist=new ArrayList();

              if(n<1)

              {

                n=1;

              }

              if(n>=pageNum)

              {

                n=pageNum;

              }

              int begin=(n-1)*pageRecord+1;//获取第n页的第一条记录的位置值

              try {

                     rs=pstm.executeQuery();

                     rs.absolute(begin);//将结果集的游标定位到第n页的第一条记录

                      for(inti=0;i<pageRecord&&(begin+i)<=sumRecord;i++){

                             //处理最后一页的特殊情况

                         try{

                                   intid = rs.getInt(1);

                                  

                                   StringcategoryName = rs.getString(2);

                                   //中文处理

                                   categoryName=newString(categoryName.getBytes("ISO8859_1"),"GB2312") ;

 

                                   intparentID = rs.getInt(3);

                                  

                                   intlayer = rs.getInt(4);

                                  

                                   Stringbz = rs.getString(5);

                                   //中文处理

                                   bz=newString(bz.getBytes("ISO8859_1"),"GB2312") ;

                                  

                                   //封装信息到实体中

                                   Categorycategory = new Category();

                                   category.setId(id);

                                   category.setCategoryName(categoryName);

                                   category.setParentID(parentID);

                                   category.setLayer(layer);

                                   category.setBz(bz);

 

                                   list.add(category);

                                    rs.next();

                                   }catch (UnsupportedEncodingException e) {

                                          //TODO Auto-generated catch block

                                          e.printStackTrace();

                                   }

                      }

//                   if (rs != null)

//                                 pstm.close();

//                          if(pstm != null)

//                                 pstm.close();

//                          if(con != null)

//                                 con.close();

                     rs.close();

                     pstm.close();

                     con.close();

                    

              }catch (SQLException e) {

                     //TODO Auto-generated catch block

                     e.printStackTrace();

              }

              returnlist;

       }

      

      

       publicvoid setSumRecord(int sumRecord) {

              this.sumRecord= sumRecord;

       }

       publicint getPageRecord() {

              returnpageRecord;

       }

       publicvoid setPageRecord(int pageRecord) {

              this.pageRecord= pageRecord;

       }

      

       //计算总页码数

       publicint getPageNum() {

              if(sumRecord%pageRecord==0)

              {

                pageNum=sumRecord/pageRecord;

              }else

              {

                pageNum=sumRecord/pageRecord+1;

              }

              System.out.println("总页数"+pageNum  +" 总记录条数"+sumRecord+"  每页显示的记录数"+pageRecord);

              returnpageNum;

       }

       publicvoid setPageNum(int pageNum) {

              this.pageNum= pageNum;

       }

       publicint getShowPage() {

              returnshowPage;

       }

       publicvoid setShowPage(int showPage) {

              this.showPage= showPage;

       }

   

   

}

附数据库连接类:DBCon.java

 

package com.myutil;

import java.sql.*;

//数据库驱动加载及连接

publicclass DBCon {

   intx;

   publicstatic ConnectiongetConn(){

  

      Connection con=null;

      String driver;

      String url;

      driver="com.microsoft.jdbc.sqlserver.SQLServerDriver";

        url="jdbc:microsoft:sqlserver://localhost:1433;databaseName=bookManager";

    try{

       Class.forName(driver);

      con=DriverManager.getConnection(url,"sa","*****");

    }catch(Exception  e){

       e.printStackTrace();

    }finally{

        return con;

        }

   }

   //数据源方式连接

   publicstatic ConnectiongetConn2(){

     

      Connection con=null;

      String driver;

      String url;

      driver="sun.jdbc.odbc.JdbcOdbcDriver";

     url="jdbc:odbc:book";

    try{

       Class.forName(driver);

      con=DriverManager.getConnection(url);

    }catch(Exception  e){

       e.printStackTrace();

    }finally{

        return con;

        }

   }

   publicstaticvoid main(String args[]){

      getConn2();

   }

}

 

----------------------------------------------------------------------------------------------------------------------

(2)Servlet

PageServlet.java

 

package com.servlet;

 

import java.io.IOException;

import java.io.PrintWriter;

import java.util.List;

 

import javax.servlet.ServletException;

import javax.servlet.http.HttpServlet;

importjavax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

 

import com.bean.PageDivide;

 

public class PageServlet extendsHttpServlet {

public void doGet(HttpServletRequestrequest, HttpServletResponse response)

                     throwsServletException, IOException {

 

 

 

              response.setContentType("text/html;charset=GB2312");

              PrintWriterout = response.getWriter();

             

              //1.创建分页Bean对象

              PageDividepd=new PageDivide();

              StringshowPage=request.getParameter("showPage");//获取所要显示的页码数     字符串

              intn;//获取所要显示的页码数

              intpageNum=pd.getPageNum();//获取总页码数

             

              if(showPage==null||"".equals(showPage)){

                     n=1;

              }

              elseif(Integer.parseInt(showPage)>pageNum){

                     n=pageNum;

              }

              else{

                     n=Integer.parseInt(showPage);

              }

             

              //获取第n页数据

              Listlist=pd.getData(n);

             

              request.setAttribute("showPage",new Integer(n));//保存当前所显示的页码

              request.setAttribute("pageNum",new Integer(pageNum));//保存总页数

              request.setAttribute("data",list); //保存第n页的数据

              request.getRequestDispatcher("/PageDivide/pagedivide2.jsp").forward(request,response);//页面的转向

             

             

              out.flush();

              out.close();

       }

 

}

----------------------------------------------------------------------------------------------------------------------

 

(3) Jsp显示页面

pagedivide2.jsp

 

<%@ pagelanguage="java"import="java.util.*,com.bean.*"pageEncoding="GB2312"%>

<%@ pagecontentType="text/html;GB2312"%>

 

<html>

  <head>

    <title>My JSP 'pagedivide2.jsp'starting page</title>

  </head>

  <body>

   <%!

      int showPage=1;

      int pageNum=0;

    %>

   

    <%

      Integerspstr=(Integer)request.getAttribute("showPage");//获取当前所显示的页码

     Integer pnstr=(Integer)request.getAttribute("pageNum");//获取总页数

     List list=(ArrayList)   request.getAttribute("data"); //获取第n页的数据

    //处理当前页码值

    if(spstr==null||"".equals(spstr)){

        showPage=1;

      }

      else{

      // showPage=Integer.parseInt(spstr);

      showPage=spstr.intValue();

      }

     

      //处理总页数

      pageNum=pnstr.intValue();

     

    //显示第n页的值

    for(inti=0;i<list.size();i++){

       Categoryc=(Category)list.get(i);

      out.print(c.getCategoryName()+""+c.getId()+" "+c.getBz());

       out.print("<br>");

    }

 

     %>

     <br>

       <a href="PageServlet?showPage=<%=1 %>">第一页</a>

       <a href="PageServlet?showPage=<%=showPage+1 %>">下一页</a>

       <a href="PageServlet?showPage=<%=showPage-1 %>">上一页</a>

       <a href="PageServlet?showPage=<%=pageNum%>">最后一页</a>

  </body>

</html>

 

张量/数组存储方式与向量化展开/展平、view、reshape、permute对比 对于一个Tensor来说,我们可以认为它有两种存储方式。 阅读详情

相关推荐

gdb对dwarf调试信息的解析和使用

gdb的对dwarf的调试信息的解析到使用的过程分析

JS072110的专栏 9568

【JavaWeb】手写一个Servlet+JSP+JavaBean分页

本篇文章主要分享如何使用Servlet+JSP+JavaBean写一个分页。

请你喝杯Java 6572

用Python和NumPy搞定复合材料层合板ABD矩阵计算(附完整代码与避坑指南)

本文详细介绍了如何使用Python和NumPy高效计算复合材料层合板的ABD刚度矩阵,包括单层板刚度计算、偏轴转换和层合板刚度集成。通过完整的代码示例和工程实践技巧,帮助工程师快速构建定制化分析工具,解决航空航天、汽车制造等领域的复合材料力学性能分析问题。特别提供了避坑指南和性能优化策略,确保计算结果的准确性和效率。

weixin_30752699的博客 279

很好的jsp+servlet+javaBean实现数据分页代码例子

自己动手写的一个jsp+servlet+javaBean实现数据分页代码例子,省去了数据库连接部分,给出核心代码。 1.首先创建实现分页功能的javabean

放开我小舅的博客 4781

6-3 根据派生类写出基类(Java解法)(PTA)

主要是看main函数里调用了什么方法和输出样例,一一对应一下有思路再写就很简单.建议使用IDEA自动生成,可以少写很多代码。

u012137663的博客 1142

uniapp - 解决控制台提示“同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示”,uniApp安卓/苹果App真机运行调试显示同步资源失败,无任何授权提示且无法连接

uni-app,报错,安卓Android,苹果ios,安卓app端,苹果App端,uniapp苹果安卓app,提示错误解决,HbuilderX,uniapp同步资源失败,未得到同步资源的授权,请停止运行后重新运行,并注意手机上的授权提示同步失败,安卓基座调试,没有反应,真机没有提示怎么办,如何解决这个问题,苹果ios手机,电脑模拟器运行,adb连接,连接失败,报错出错,uniapp真机运行的时候显示同步资源失败,未得到同步资源的授权,plugins里面没有tools,找不到tools,还是不行,重新打基座

🏆 前端领域优质创作者 1万+

JSP+JavaBean+Servlet实现分页

 今天给同学用JSP+JavaBean+Servlet做了个分页。用的是MySQL+Tomcat+MyEclispe环境。分页计数器如下:package org.pagedemo.page;/** * Create on 2008-08-28 11:05 *  * @author qpy_2006 * 要用到分页,则在创建该类对象时 * 只需在传入row

【三少爷】的专栏 7674

YOLOv8 智能交通违章检测 - 压线/越线行驶检测详解

本文提出了一种基于YOLOv8的智能交通违章检测方案,重点解决车辆压线/越线行驶的识别问题。系统采用多技术融合方案:YOLOv8检测车辆、ByteTrack跟踪轨迹、传统或深度学习方法识别车道线,并通过几何计算判断车辆是否违规跨越实线。文章详细介绍了技术难点(如车道线分类、透视变形处理)、判定流程、系统架构和核心代码实现,包括车道线检测、违章逻辑判断和可视化模块。同时指出了现有方案的局限性,建议通过引入逆透视变换和专用车道线分割模型来提升准确率。该纯视觉方案具有低成本、易部署的特点,适用于智能交通监控场景。

u010117029的博客 177

JSP+Servlet+JavaBean实现分页

自己从网上看了很多分页的例子,有些写的不是很明白,这两天做项目的时候用到了分页,特地把它写下来,供以后学习。。。 项目:个人简历 在简历列表(list.jsp)中用到了分页,因为经过增删改查之后都会跳到list.jsp页面,所以将分页写在了过滤器中。过滤list.jsp      web.xml中过滤器的配置 This is the description of my J2EE

我是码农 1280

天龙八部TLBB系列 - 网单用数据库修改为其他门派

专注于Android/Unity和各种游戏开发技巧,以及各种资源分享(网站、工具、素材、源码、游戏等) --- 天龙八部修改门派

空名先生 9430

Qt垂直滚动条QVerticalScrollBar详解:从基础到实战的控件开发指南

本文系统解析Qt中QVerticalScrollBar的用法,从基础概念到进阶技巧。主要内容包括:1)基础认知:介绍其继承关系、作用及典型应用场景;2)核心用法:创建方法、关键属性配置和信号槽连接;3)进阶技巧:自定义样式表美化外观,以及与自定义内容区域的联动实现;4)实战注意事项,如避免循环触发和高DPI适配等。文章强调掌握QVerticalScrollBar对提升Qt滚动类功能开发效率的重要性,并建议通过自定义文本编辑器实践巩固知识点。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 759

使用jsp-javabean-servlet实现分页功能

1、首页首先设置数据库:表名叫good,表的信息如下图: 插入信息为: 2、展示项目结构: 3、第一步写jsp页面,也就是mvc模式的view视图层: <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+"

任海丽(3G/移动开发) 2608

UE5实现物体高亮描边效果(含UE相关源码浅析)

UE5实现物体高亮描边效果

专注GIS开发 7335

利用servlet+jsp+javabean进行分页查询

利用servlet+jsp+javabean进行分页查询分页项目文件结构文件说明mysql的limit查询JDBCjavaBean的CompanyinfoDao层pageBeanservlet的page运行截图eclipse常用的快捷键 分页项目 文件结构 文件说明 Companyinfo:是一个JavaBean类,需要显示的内容 pageBean:描述分页信息的内容 CompanyinfoDa...

antRain的博客 1413

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

javaBean+servlet+jsp实现分页效果

<br />Servlet+jsp真分页实现 (2010-06-10 23:50:11)转载标签:  it分类: web开发<br />JavaBean<br />package Bean;<br />//物品类<br />public class Goods<br />{<br /> private int goodsid;  // 物品编号<br /> public String goodsname;   // 物品名称<br /> private float price;        // 物品单

yws1515的专栏 776

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

mysql实现分页jsp javabean实现_javabean servlet jsp实现分页功能代码解析

前端实现用ligerUI实现分页,感觉用框架确实简单,闲着无聊,模拟着liger的分页界面实现了一遍(只要是功能,样式什么无视)这里用基础的三层架构+servlet+jsp实现,思路很简单,把所有分页相关信息写入到一个pagebean类里面,service返回这个bean类,每次分页查询时都从该bean里查找信息。只是其中的细节问题比较繁琐,如边界处理(前端和后台边界都要处理),下拉框跳转后要显示...

weixin_30082413的博客 262

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

jsp+servlet+javabean+mysql实现分页。

想要做分页先熟悉数据库,咋们用mysql的sqlserver的以后弄。 看看效果 1.连接数据库大家都应该会吧:分页mysql相对sqlserver简单, 分页mysql例如: "select * from name limit "+m+","+n+"" ; 其中m是指记录开始的index,从m开始,n表示几条记录 2.创建分页的javabean public class ...

小码农的博客 1806

jsp+servlet+javaBean的后台分页

首先后台分页需要理清分页思路,把数据库里面需要分页的信息放到List集合中,然后按照页面反馈给后台的页码对List集合进行SubList切割把切完的List传到前端进行显示。

qq_26250141的博客 603

构建高效Web应用:通过MVC(Servlet+JSP+JavaBean)实现基本分页功能

采用MVC(servelt+jsp+javabean)的设计模式来实现分页功能;实现模糊搜索功能

weixin_52937170的博客 1470

jsp+servlet+javabean实现数据分页

第一次写博文,秉着记录学习轨迹的

asusk42jc的专栏 1877

jsp+servlet+javabean (MVC)分页

  最近遇到了分页的问题,以前说真的没仔细研究过了,这几天仔细高了一下,基本原理高清楚了,上次我发了一个jsp的分页程序了,其实那个还有很多地方完善,这两天总结了一下,用MVC摸式改进了一下,还是强调一点我一直都觉的JSP不要在页面写代码,因为影响分工了,所以我一直在编程都努力的在做了,但是这些代码我只是完成了功能,还有代码优化的地方,我没去做,这个批评一下自己了,不过因为最近真的好多事了,说真的

xiaolu123456789的专栏 4330

java mysql 分页bean_jsp+servlet+javabean实现数据分页方法完整实例

本文实例讲述了jsp+servlet+javabean实现数据分页方法。分享给大家供大家参考,具体如下:这里秉着且行且记的心态,记录下学习过程,学得快忘得快,生怕遗忘,以备日后使用。用到的部分代码是自己在网上查找,并自己修改,加上自己的理解。也不知道算不算原创,只做自己学习记录。使用相关:PostgreSQL数据库、dom4j、JSP、Servlet一、首先是工程格局,来个全局视图方便读者与自己查...

weixin_39548606的博客 302

java servlet 分页显示_JSP+JavaBean+Servlet实现各类列表分页功能

需求:每页列表下都有一个分页的功能,显示总数量、当前页/总页数、首页、上一页、下一页、最后一页、GO到第几页效果动态图:实现思路:因为每个列表页都需要,在每个出列表页数据的servlet中都要求出总数量、当前页、总页数、结果list这几个值,那么我就把这些变量封装到一个基本实体类中,然后在service实现类中去求出这些变量的算法,那么我servlet执行时候,只用获取页面当前页的值,就可以算出所...

weixin_39827585的博客 534

javaee 后台分页 jsp+servlet+javaBean+mysql

首先后台分页需要理清分页思路,把数据库里面需要分页的信息放到List集合中,然后按照页面反馈给后台的页码对List集合进行SubList切割把切完的List传到前端进行显示。

qq_26250141的博客 1089

java数据分装到page_jsp+servlet+javabean实现数据分页方法完整实例

本文实例讲述了jsp+servlet+javabean实现数据分页方法。分享给大家供大家参考,具体如下:这里秉着且行且记的心态,记录下学习过程,学得快忘得快,生怕遗忘,以备日后使用。用到的部分代码是自己在网上查找,并自己修改,加上自己的理解。也不知道算不算原创,只做自己学习记录。使用相关:PostgreSQL数据库、dom4j、JSP、Servlet一、首先是工程格局,来个全局视图方便读者与自己查...

weixin_35698659的博客 373

java-web分页操作(javaBean+Servlet+jsp)

Java-web分页操作(jsp+servlet+javaBean) 一   分页操作分析 分页在web项目中是非常重要的技术,打开每一个网页都可以看到分页 1.疑问的出现 在写分页前要了解什么是分页,分页一共有多少个方法、多少个参数,应该如何编写方法的实现和定义参数的变量 2.疑问的解决      分页一般分为首页、上一页、下一页、末页,还要得到总记录数,总页数,下面来详细介绍一下它

韩晓爽的专栏 2765
上一篇: java通过JNDI获取数据源
Java_lab
博客等级 码龄14年 4粉丝 11原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值