`

jsp+servlet+javabean (MVC)分页

    博客分类:
  • jsp
阅读更多
最近遇到了分页的问题,以前说真的没仔细研究过了,这几天仔细高了一下,基本原理高清楚了,首先是我的页面代码如下:

<%@ page language="java" import="java.util.*,java.sql.*"
 pageEncoding="gb2312"%>
 <%@taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
 <head>
 </head>
 <body>
<form action="#">
   <c:forEach items="${news1}" var="news2" varStatus="status">
        <tr><td>${news2.newsTitle}</td>
           </tr>
  </c:forEach>
       <c:if test="${showpage>1}">
              <a href="pageservlet?topage=<%=1%>">首页</a>
              <a href="pageservlet?topage=${showpage-1}">上一页</a>
              </c:if>
               <c:if test="${showpage<pagecount}">
              <a href="pageservlet?topage=${showpage+1}">下一页</a>
              <a href="pageservlet?topage=${pagecount}">最后一页</a>
              </c:if>
              第${showpage}页
              一共${pagecount}页
 </form> <br>
 </body>
</html>

servlet代码如下:
package org.servlet;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.util.ContactBean;
import org.util.PageBean;

public class PageServlet extends javax.servlet.http.HttpServlet {

 public void doGet(HttpServletRequest

 request, HttpServletResponse response)
   throws javax.servlet.ServletException, java.io.IOException {
  response.setContentType("text/html");
  try {
   PageBean pagebean = new PageBean();
   ContactBean contact = new ContactBean();
   int pagecount = pagebean.countPage();//获取总共的页数
   String topage = request.getParameter("topage");//获取当前的页码
   if (Integer.parseInt(topage) > pagecount) {  //判断当前的页码是否越界,如果是的话就进行处理
    topage =String.valueOf(pagecount);
   } else if (Integer.parseInt(topage) <= 0) {
    topage = "1";
   }
   ArrayList news = contact.getData(topage, pagecount);
   request.getSession().setAttribute("pagecount", pagecount);
   request.getSession().setAttribute("showpage", topage);//将当前的页码返回给页面,这样进行计算
   request.getSession().setAttribute("news1", news);
   response.sendRedirect("test1.jsp");
  } catch (Exception e) {
   e.printStackTrace();
  }

 }

 public void doPost(HttpServletRequest request, HttpServletResponse response)

 throws javax.servlet.ServletException, java.io.IOException {
  doGet(request, response);
 }
}

javabean代码如下
package org.util;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.Vector;

import org.bean.NewsBean;

public class ContactBean {
 private Connection conn;
 public Connection getConnection() {
  try {
   Class.forName("com.mysql.jdbc.Driver");
   conn = DriverManager
     .getConnection(
       "jdbc:mysql://localhost/test?useUnicode=true&amp;characterEncoding=gbk",
       "root", "123456");
  } catch (SQLException ex) {
   System.out.println(ex.getMessage() + "路径错误");
  } catch (ClassNotFoundException ex) {
   System.out.println(ex.getMessage() + "驱动错误");
  }
  return conn;
 }

 /** *返回要查询的记录数 */
 public int getAvailableCount() throws Exception {
  int ret = 0;
  String strSql = "select count(*) from news";
  Connection conn = this.getConnection();
  Statement stmt = conn.createStatement();
  ResultSet rset = stmt.executeQuery(strSql);
  while (rset.next()) {
   ret = rset.getInt(1);
  }
  return ret;
 }
    /*获取查寻的记录数*/
 public ArrayList getData(String topage, int pagecount)
   throws NumberFormatException, SQLException {
  String sql = "select * from news";
  Statement state = null;
  ResultSet rs = null;
  int pagesize = 3;
  int showpage = 1;
  ArrayList list = new ArrayList();
  int j = 0;
  try {
   Connection conn = this.getConnection();
   state = conn.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE,
     ResultSet.CONCUR_READ_ONLY);
   rs = state.executeQuery(sql);
  } catch (Exception e) {
   System.out.println("exception");
  }
  if (!rs.next()) {
   System.out.println("no records!");
  } else {
   rs.last();
   if (topage != null) {
    showpage = Integer.parseInt(topage);
    if (showpage > pagecount) {
     showpage = pagecount;
    } else if (showpage <= 0) {
     showpage = 1;
    }
   }
   rs.absolute((showpage - 1) * pagesize + 1);
   for (int i = 1; i <= pagesize; i++) {
    NewsBean news = new NewsBean();
    news.setNewsContent(rs.getString(2));
    news.setNewsTitle(rs.getString(3));
    list.add(j, news);
    ++j;
    if (!rs.next())
     break;
   }

  }
  return list;
 }

}

package org.util;


public class PageBean {
 public int maxPage; // 一共有多少页
 public int maxRowCount; // 一共有多少行
 public int pagesize = 3; // 每页多少行
 public PageBean() {
 }

 public int countPage() throws Exception {
 int maxRowCount=this.MaxCount();
  if (maxRowCount % this.pagesize == 0) {
   maxPage = maxRowCount / this.pagesize;
  } else {
   maxPage =maxRowCount/ this.pagesize + 1;
  }
  return maxPage;
 }


 public int MaxCount() throws Exception {
  ContactBean contact=new ContactBean();
  this.maxRowCount = contact.getAvailableCount(); // 得到总行数
        return maxRowCount;
 }

}
分享到:
评论
1 楼 aqxiebin 2010-09-06  
为什么mysql不是有limin吗?为什么还要这么麻烦。。奇怪。。

相关推荐

    jsp+servlet+javabean+ajax MVC模式,增删改查,数据分页显示

    本文将深入探讨`JSP(JavaServer Pages)、Servlet、JavaBean`以及`Ajax`如何在MVC架构下实现数据的增删改查与分页显示,并涉及`SmartUpload`组件用于文件和图片的上传。 首先,`MVC`模式是一种软件设计模式,它将...

    简单的jsp+servlet+javaBean实现MVC

    **简单的jsp+servlet+javaBean实现MVC** 在Web开发中,MVC(Model-View-Controller)模式是一种广泛使用的架构模式,它将应用程序的逻辑分为三个主要组件:模型(Model)、视图(View)和控制器(Controller)。...

    JSP+servlet+javabean实现购物车

    9. **MVC模式**:本项目遵循Model-View-Controller(MVC)设计模式,其中,Model(JavaBean)负责数据管理,View(JSP)负责展示,Controller(Servlet)负责处理用户请求和控制流程。 10. **部署与运行**:完成...

    jsp+servlet+javabean实现网上商城项目完整源码

    《基于JSP、Servlet和JavaBean的网上商城项目详解》 网上商城项目是现代电子商务的重要组成部分,本项目采用经典的JSP、Servlet和JavaBean技术进行实现,提供了完整的源码,旨在帮助开发者理解和学习如何构建一个...

    JSP+servlet+javabean留言簿系统

    它涵盖了Web开发中的常见技术,如HTTP请求响应、JSP页面动态渲染、Servlet处理业务逻辑、JavaBean封装对象、数据库连接池的使用、MVC设计模式等。通过分析和实践这个项目,可以深入理解Web应用的生命周期,以及前后...

    JSP+Servlet+JavaBean查询分页

    "JSP+Servlet+JavaBean查询分页"的主题涵盖了如何在处理大量数据时,有效地展示信息并允许用户进行分页浏览。在这个主题中,我们将深入探讨这三个关键组件在分页查询中的应用。 首先,JSP是Java的一个标准视图技术...

    jsp+servlet+javabean新闻发布系统精品毕业设计

    2.新闻搜索:(可以选择分类)以新闻标题模糊搜索,有分页功能 3.热点新闻:按新闻点击率高低显示前10条左右的新闻(显示点击率) 4.最新新闻:显示最新添加的新闻(显示日期) 5.公告栏:显示公告信息 6.登录:...

    jsp+servlet+javabean 增删改查分页

    在Java Web开发中,"jsp+servlet+javabean"是一种常见的MVC(Model-View-Controller)架构模式,也被称为Model2。这种模式在处理动态网页内容时,提供了清晰的职责划分,提高了代码的可维护性和可扩展性。下面我们将...

    基于Jsp+JavaBean+Servlet实现MVC模式的分页模板

    基于Jsp+JavaBean+Servlet实现MVC模式的分页模板 分页没有css,但分页功能齐全 对初学者应该有帮助 分三层编写dao层 service层 web层 数据库可以用ms server2005 或者 mysql5.0 脚本为ms2005.sql 、mysql.sql 切换...

    jsp+javabean+servlet实现登录注册以及留言板

    jsp+javabean+servlet使用简单的MVC模式实现登录注册、留言板、分页的功能。model(javabean)层实现读写数据库,数据库名为webapp,没有密码;view(JSP)实现展示信息;controller(servlet)层联系model和view,...

    jsp成绩管理系统jsp+servlet+javabean

    【JSP成绩管理系统】是一个基于Java Web技术的典型应用,主要采用了MVC(Model-View-Controller)设计模式,结合了JSP、Servlet和JavaBean组件。本系统旨在实现对学生成绩的有效管理,包括成绩录入、查询、统计等...

    jsp+servlet+javabean新闻发布系统

    通过这个案例,开发者可以学习到如何在实际项目中整合JSP、Servlet和JavaBean,理解MVC(Model-View-Controller)设计模式的应用,以及如何实现数据持久化、事务管理和错误处理等核心Web开发技能。对于初学者来说,...

    jsp+servlet+javabean(jdbc)框架搭建说明手册

    总结,本手册详细介绍了基于JSP、Servlet和JavaBean的Web框架搭建过程,从基础架构搭建到逐步优化,最后实现分页功能。通过这个过程,开发者可以深入理解Web应用程序的开发流程和最佳实践,为后续更复杂的项目开发...

    jsp+Servlet+javabean分页

    总的来说,`jsp+Servlet+javabean`的分页实现方式是:`jsp`负责视图展示,`Servlet`作为控制器处理请求并协调业务逻辑,`javabean`封装数据和业务操作。这种三层架构让代码结构清晰,职责明确,易于维护。在实际项目...

    JSP+SERVLET+MYSQL实现的增删改查javaweb小例子

    在IT行业中,Web开发是一项核心技能,而JSP(JavaServer Pages)、Servlet和MySQL是构建动态网站时常用的技术栈。本项目"JSP+SERVLET+MYSQL实现的增删改查javaweb小例子"提供了一个基础的实战示例,帮助开发者了解...

    分页servlet+jsp+javabean+sqlserver

    在这个名为"分页servlet+jsp+javabean+sqlserver"的项目中,开发者构建了一个基于JavaWeb的人才储备系统。系统的核心功能是实现数据的分页展示,利用Servlet进行服务器端处理,JSP作为视图层进行前端展示,而...

    基于servlet+javabean+jsp(MVC)的分页显示

    在这个"基于servlet+javabean+jsp(MVC)的分页显示"项目中,我们将会探讨如何使用这些技术实现一个具有分页功能的Web应用。 首先,Servlet是Java提供的一种服务器端编程接口,用于处理HTTP请求并生成响应。在这个...

    Jave EE 基础入门注释版--JSP+JavaBean+Servlet(MVC)模式

    Jave EE 基础入门注释版--JSP+JavaBean+Servlet(MVC)模式 适合初学者,实现基本的增添改查(包括分页)注释明确 内含数据库脚本

    JSP+JavaBean+servlet实现分页

    总的来说,JSP+JavaBean+Servlet的分页实现是一个典型的MVC(Model-View-Controller)架构示例,其中JSP作为视图展示数据,JavaBean作为模型存储和处理数据,而Servlet作为控制器协调模型和视图之间的交互。...

Global site tag (gtag.js) - Google Analytics