`
wtx358
  • 浏览: 26048 次
  • 性别: Icon_minigender_1
  • 来自: 广西
社区版块
存档分类
最新评论

一个利用JavaBean分页显示列表的例子

阅读更多
在Tomcat6下测试,采用连接池,数据库驱动为SqlServer2000

连接数据库
package mybook;

import java.sql.*;
import javax.sql.*;
import javax.naming.*;

public class ConnectDB {
	
	private Connection conn=null;
	
	public ConnectDB(){}
	
	public Connection getConnection() throws Exception {
        if (conn == null) {
               Context initContext = new InitialContext();
               Context envContext = (Context) initContext.lookup("java:comp/env");
               DataSource ds = (DataSource) envContext.lookup("jdbc/mybook");
               conn = ds.getConnection();
        }
        return conn;
    }

}


分页显示
package mybook;

import java.sql.*;
import java.util.*;

public class ShowList {

	public ShowList() {
	};

	public ArrayList<Object> Show(int CurPage) {
		int PageSize;
		PageSize = 20;
		if (CurPage < 1)
			CurPage = 1;

		ArrayList<Object> list = new ArrayList<Object>(PageSize + 1);

		mybook.ConnectDB db = new mybook.ConnectDB();
		String sql = "select * from SNList";

		try {
			Connection conn = db.getConnection();
			PreparedStatement ps = conn
					.prepareStatement(sql, ResultSet.TYPE_SCROLL_SENSITIVE,
							ResultSet.CONCUR_UPDATABLE);

			ResultSet rs = ps.executeQuery();

			// 求得总页数
			rs.last();
			long Pages, Rows;
			Rows = rs.getRow();
			if (Rows % PageSize == 0) {
				Pages = Rows / PageSize;
			} else {
				Pages = Rows / PageSize + 1;
			}
			// 把页数添加到List中
			list.add(Pages);

			// 移动记录集光标
			rs.beforeFirst();
			if (CurPage > 1)
				rs.absolute((CurPage - 1) * PageSize);

			int count = 1;
			while (rs.next()) {
				HashMap<Object, Object> hmap = new HashMap<Object, Object>();
				ResultSetMetaData rsmd = rs.getMetaData();
				int colSize = rsmd.getColumnCount();
				for (int i = 1; i <= colSize; i++) {
					hmap.put(rsmd.getColumnName(i).toLowerCase(),
							rs.getObject(i));
				}
				list.add(hmap);
				count++;
				if (count > PageSize)
					break;
			}
			rs.close();
			ps.close();
			conn.close();
		} catch (Exception ex) {
			list = null;
		}
		return list;
	}
}


WEB-INF/web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">
<web-app>
	<display-name>My Web Application</display-name>
	<description>
		A application for test.
	</description>
   
	<filter>
		<filter-name>Set Character Encoding</filter-name>
		<filter-class>filters.SetCharacterEncodingFilter</filter-class>
		<init-param>
		<param-name>encoding</param-name>
		<param-value>UTF-8</param-value>
		</init-param>
	</filter>
	<filter-mapping>
		<filter-name>Set Character Encoding</filter-name>
		<url-pattern>/*</url-pattern>
	</filter-mapping> 
	
	<resource-ref>
	  <description>DB Connection</description>
	  <res-ref-name>jdbc/mybook</res-ref-name>
	  <res-type>javax.sql.DataSource</res-type>
	  <res-auth>Container</res-auth>
	</resource-ref> 
</web-app>


META-INF/context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context reloadable="true" crossContext="true">
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
<!-- Uncomment this to disable session persistence across Tomcat restarts -->
<!--
<Manager pathname="" />
-->
<Resource 
	 name="jdbc/mybook" 
	 auth="Container"
	 type="javax.sql.DataSource"
	 driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
	 url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=FTXSDATA_2009"
	 username="sa"
	 password=""
	 maxActive="200"
	 maxIdle="30"
	 maxWait="10000" />
</Context>


showlist.jsp
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" >
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" import="java.util.*,java.text.SimpleDateFormat,java.util.Locale,java.text.DecimalFormat"%>
<jsp:useBean id="show" scope="request" class="mybook.ShowList" />

<link rel="stylesheet" type="text/css" href="style.css">

<title>发货通知单列表</title>
<%
	String curpage1=null;
	if (request.getParameter("page")==null || request.getParameter("page").trim()=="") curpage1="1";
	else curpage1=request.getParameter("page");

	int curPage=Integer.parseInt(curpage1);
	curPage=curPage>0?curPage:1;

	SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd",Locale.SIMPLIFIED_CHINESE);
	DecimalFormat decFmt = new DecimalFormat("##,##0.00");
	
	ArrayList<Object> list = show.Show(curPage);
	long Pages=Long.parseLong(list.get(0).toString());
%>

<div align="center"><h3>发货通知单列表</h3></div>

<table border="1" class="tableList" id="tbl1" cellspacing="0" bordercolor="#AAAAAA" style="border-collapse:collapse;" align="center">
<thead>
	<th width="80">单据号</th>
	<th width="80">合同号</th>
	<th width="250">客户名称</th>
	<th width="80">产品名称</th>
	<th width="80">数量</th>
	<th width="80">备注</th>
	<th>&nbsp;</th>
</thead>
<tfoot align="center">
	<tr>
	<td colspan="7" align="center">
		<a href="show.jsp?page=1">首页</a>
		<a href="show.jsp?page=<%=curPage>1?curPage-1:1%>">上页</a>
		<a href="show.jsp?page=<%=curPage<Pages?curPage+1:Pages%>">下页</a>
		<a href="show.jsp?page=<%=Pages%>">末页</a>
	</td>
	</tr>
</tfoot>
<tbody>
<%
	for (int i=1;i<list.size();i++) {
		HashMap<Object,Object> hmap=(HashMap<Object,Object>)list.get(i);
%>
<tr>
	<td align="center"><%=hmap.get("ccode")%></td>
	<td align="center"><%=hmap.get("csocode")%></td>
	<td align="center"><%=hmap.get("ccusname")%></td>
	<td align="center"><%=hmap.get("cinvname")%></td>
	<td align="right"><%=decFmt.format(hmap.get("inum"))%></td>
	<td align="center"><%=hmap.get("cmaker")%></td>
	<td align="center"><input type="checkbox" name="Select" value="<%=hmap.get("icusid")%>"></td>
</tr>
<%
	}
%>
</tbody>
</table>

<!--[if lt IE 7]>
	<script type="text/javascript" src="ie7.js"></script>
<![endif]-->
分享到:
评论

相关推荐

    JavaBean分页实例

    在这个“JavaBean分页实例”中,我们看到一个具体的例子,它演示了如何利用JavaBean来实现数据的分页显示。这个项目是在MyEclipse 8.0集成开发环境中创建的,它使用了MySQL 5作为数据库管理系统,非常适合教学和学习...

    关于servlet+JavaBean+jsp的小例子

    本文将详细解析"关于servlet+JavaBean+jsp的小例子"所涉及的知识点,并深入探讨如何利用这三种技术实现MVC Model2架构的分页功能。 Servlet是Java提供的一种用于扩展服务器功能的接口,它允许开发者处理HTTP请求和...

    一个简单的jsp分页的完整例子(使用可重复单独的分页类)!

    在这个"一个简单的jsp分页的完整例子"中,我们将深入探讨如何利用Java Servlet和JSP技术实现可重复使用的分页类。本示例适用于MyEclipse开发环境。 首先,我们需要了解分页的基本原理。分页的核心思想是将大量数据...

    weblogic workshop 8.1 分页处理例子

    2. JavaBean:在服务器端,一个JavaBean负责处理分页逻辑。它会根据页码计算出在数据库中需要查询的起始位置和结束位置,然后执行SQL查询。查询结果被封装成一个列表,返回到JSP页面进行显示。 二、使用PageFlow ...

    struts_分页显示数据

    总结来说,使用Struts实现分页显示数据,需要结合MVC设计模式,通过Action协调模型和视图,利用JavaBean存储数据和分页信息,以及JSP展示数据。正确配置和实现这些组件,可以构建出高效且用户友好的分页功能。

    jsp servlet javaBean后台分页实例代码解析.docx

    通过一个具体的实例,我们将逐步分析如何设计并实现一个高效且可扩展的分页系统。此实例不仅有助于理解分页的基本原理,还能帮助开发者掌握相关的编程技巧和技术栈。 #### 分页的基本原理 在Web开发中,分页是一种...

    JSTL&EL分页的例子

    在这个"JSTL&EL分页的例子"中,我们将探讨如何使用JSTL和EL来实现分页功能,这是一种在网页上显示大量数据时非常实用的技术。分页可以使用户更方便地浏览和管理信息,避免一次性加载过多数据导致页面响应慢或者内存...

    javaweb后台数据真分页

    在这个例子中,我们使用了JavaBean来封装一个分页工具类,以实现对MySQL数据库的高效分页查询。 1. **什么是分页** 分页是一种数据展示策略,将大数据集分成多个小部分,每次只加载一部分到用户界面,而不是一次性...

    jsp servlet javaBean后台分页实例代码解析

    后台分页的基本思想是:先从数据库获取所有需要分页的数据,将其存储在一个List集合中,然后根据用户请求的页码,利用List的`subList()`方法对集合进行切割,只将当前页所需的数据传递给前端展示。 2. **项目文件...

    类似百度的分页工具类,可直接用于项目开发

    本篇文章将详细讲解一个类似百度的分页工具类,以及如何将其应用于Hibernate分页,同时结合EL表达式和Struts2标签进行页面分页。 首先,"类似百度的分页工具类"是指设计一个具有类似百度搜索结果分页功能的Java类。...

    jsp读取数据库实现分页技术简析.docx

    总结来说,本文提供的例子展示了如何利用JavaBean在JSP中实现数据库的分页查询,包括数据库连接、查询和分页逻辑。理解这些概念和实践对于任何进行Java Web开发的人员都至关重要,特别是处理大量数据时。

    JSP+JDBC真分页

    5. **处理结果集**:遍历ResultSet,将其转换为合适的对象(如自定义的JavaBean),并存储到一个列表中。 6. **在JSP中展示数据**:在JSP页面上,使用JSP标签库(如JSTL)或脚本元素遍历列表,将数据渲染到HTML中。...

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

    本项目"JSP+SERVLET+MYSQL实现的增删改查javaweb小例子"提供了一个基础的实战示例,帮助开发者了解如何将这三种技术有效地结合在一起,实现一个简单的Web应用,处理用户信息的CRUD(Create, Read, Update, Delete)...

    json实现jsp分页实例介绍(附效果图).docx

    - 在这个例子中,我们假设有一个`DB`类,其中包含了一个名为`list`的`LinkedList&lt;User&gt;`列表,该列表模拟了数据库中的用户数据。 - `service`方法接收客户端的请求参数`page`,表示当前请求的是哪一页的数据。 - ...

    JSP数据库操作例程

    总的来说,这个示例展示了如何在JSP中利用JavaBean和JDBC进行数据库操作,同时实现了分页显示功能。对于初学者来说,这是一个很好的起点,了解JSP和数据库交互的基本流程。然而,在实际开发中,通常会推荐使用更高级...

    jsp读取数据库实现分页技术简析

    本篇文章主要探讨如何利用JavaBean和JSP页面实现数据库(MySQL)的分页查询。 1. **JavaBean的作用**: JavaBean是Java中的一个可重用组件,它封装了业务逻辑,可以被多个页面共享。在这个例子中,`databaseBean....

    一个简单的JSP图书管理系统

    【JSP图书管理系统详解】 ...同时,这也是实践和理解MVC(Model-View-Controller)设计模式的一个好例子,Model代表数据库操作,View是用户界面,Controller处理用户请求并协调Model和View的交互。

    JSP页面显示list的常用方法

    例如,假设我们有一个名为`users`的list,可以在JSP中声明和遍历: ```jsp List&lt;User&gt; users = ...; // 获取用户列表 %&gt; ${users}" var="user"&gt; ${user.name} ${user.email} ``` 2. **使用EL表达式*...

    jsp功能简单留言板

    在这个例子中,可能会有一个表单,让用户输入姓名、留言内容等信息,并有一个提交按钮触发数据的提交。 2. **数据提交**:当用户填写完信息并点击提交按钮,表单数据通过HTTP请求发送到服务器。在JSP中,可以使用`...

Global site tag (gtag.js) - Google Analytics