- 浏览: 90611 次
- 性别:
- 来自: 石家庄
文章分类
- 全部博客 (71)
- java (18)
- jsp (13)
- 常用文档 (2)
- struts (4)
- hiberbate (1)
- spring (0)
- ibatis (1)
- 数据库相关 (4)
- 服务器相关 (3)
- XML (1)
- AJAX (2)
- EJB (2)
- 设计模式 (3)
- javamail (2)
- struts2.x (0)
- webwork (0)
- jdo (0)
- toplink (0)
- ojb (0)
- jsf (0)
- jasperReport (1)
- dwr (0)
- javascript (6)
- css (0)
- junit (0)
- soa (0)
- soap/corba/rmi (0)
- JFreeChart (0)
- 正则表达式 (1)
- 其他 (5)
- 设置JOB参数job_queue_processes (0)
最新评论
-
zhima:
好多阿 没人留言
jsp(脚本)+javabean+servlet+dao分页 -
416935357:
,谢谢,可是我的那个是用字节流导入数据库不知道为什么一直出现 ...
java读取图片文件 -
jzh2537:
呵呵,看了下,复制了代码,直接可用,不过我是从另外的连接连过来 ...
jsp(标签)+javabean+servlet+dao分页 -
edgar108:
问您一下:"apache集成tomcat" ...
APACHE集成TOMCAT -
kejianjun01:
如果要有注释就好了,这样看虽然能看明白但是起来会很不舒服;
jsp实现购物车
----------------------------------------------------------------------
jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.qxm.temp.PageControl;"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>display</title>
</head>
<body>
员工信息:
<hr>
<table bordercolor="red" border="1">
<tr>
<td>
员工id
</td>
<td>
姓名
</td>
<td>
班级
</td>
<td>
邮箱
</td>
</tr>
<c:forEach var="smalllist" items="${pc.smallList}">
<tr>
<td>
<c:out value="${smalllist.id}" />
</td>
<td>
<c:out value="${smalllist.name}" />
</td>
<td>
<c:out value="${smalllist.gender}" />
</td>
<td>
<c:out value="${smalllist.email}" />
</td>
</tr>
</c:forEach>
</table>
<a href="Dis?pageindex=1">首页</a>
<c:if test="${pc.previousPageCount > 0}" var="true">
<a href="Dis?pageindex=${pc.previousPageCount}">上一页</a>
</c:if>
<c:if test="${ pc.nextPagecount <= pc.pageSize}" var="true">
<a href="Dis?pageindex=${pc.nextPagecount}">下一页</a>
</c:if>
<a href="Dis?pageindex=${pc.pageSize}">尾页</a>
</body>
</html>
----------------------------------------------------------------------
po
package com.qxm.po;
import java.io.Serializable;
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String name;
private String gender;
private String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
----------------------------------------------------------------------
servlet
package servlet;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.qxm.dao.ConnectionDB;
import com.qxm.po.Student;
import com.qxm.temp.PageControl;
@SuppressWarnings("serial")
public class Dis extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String currentpage = request.getParameter("pageindex");
if(currentpage == null){
currentpage = "1";
}
int pageindex = Integer.parseInt(currentpage);
PageControl pc = (PageControl)request.getAttribute("pc");
if(pc == null){
pc = new PageControl();
ConnectionDB condb = new ConnectionDB();
ArrayList<Student> allList = condb.getResultSet();
pc.setBigList(allList);
request.setAttribute("pc", pc);
}
pc.setCurrentPage(pageindex);
this.getServletContext().getRequestDispatcher("/display.jsp").forward(request, response);
}
}
----------------------------------------------------------------------
dao层
package com.qxm.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import com.qxm.po.Student;
@SuppressWarnings("unchecked")
public class ConnectionDB {
public static Connection conn = null;
public static PreparedStatement ps = null;
public static ResultSet rs = null;
public void getconnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/info",
"root", "root");
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动找不到");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("数据库连接异常");
e.printStackTrace();
}
}
/**
* id name gender email
* @return
*/
public ArrayList<Student> getResultSet(){
this.getconnection();
ArrayList<Student> list = null;
list = new ArrayList<Student>();
String sql = "select id,name,gender,email from student";
try {
rs = conn.prepareStatement(sql).executeQuery();
while(rs.next()){
Student stu = new Student();
stu.setId(rs.getInt(1));
stu.setName(rs.getString(2));
stu.setGender(rs.getString(3));
stu.setEmail(rs.getString(4));
list.add(stu);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
this.closeConnection();
}
return list;
}
public void closeConnection(){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
System.out.println("rs关闭异常");
e.printStackTrace();
}
rs = null;
}
if(ps != null){
try {
ps.close();
} catch (SQLException e) {
System.out.println("ps关闭异常");
e.printStackTrace();
}
ps = null;
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
System.out.println("conn关闭异常");
e.printStackTrace();
}
}
conn = null;
}
}
----------------------------------------------------------------------
分页逻辑
package com.qxm.temp;
import java.util.ArrayList;
import com.qxm.po.Student;
public class PageControl {
private ArrayList<Student> bigList; // 总集合
private int currentPage = 1; // 当前页数
private int pageCount = 2; // 每页数据的条数
private int pageSize; // 总页数
private int valueCount; // 总数据的条数
private ArrayList<Student> smallList;// 分页集合
private int previousPageCount;// 上一页的页数
private int nextPagecount; // 下一页的页数
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
// 上一页
previousPageCount = currentPage - 1;
// 下一页
nextPagecount = currentPage + 1;
smallList = new ArrayList<Student>();
for (int i = (currentPage - 1) * pageCount; i < currentPage * pageCount
&& i < valueCount; i++) {
smallList.add(bigList.get(i));
}
}
public void setBigList(ArrayList<Student> bigList) {
this.bigList = bigList;
valueCount = bigList.size();
pageSize = valueCount % pageCount == 0 ? valueCount / pageCount
: valueCount / pageCount + 1;
}
public int getCurrentPage() {
return currentPage;
}
public ArrayList<Student> getBigList() {
return bigList;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getValueCount() {
return valueCount;
}
public void setValueCount(int valueCount) {
this.valueCount = valueCount;
}
public ArrayList<Student> getSmallList() {
return smallList;
}
public void setSmallList(ArrayList<Student> smallList) {
this.smallList = smallList;
}
public int getPreviousPageCount() {
return previousPageCount;
}
public void setPreviousPageCount(int previousPageCount) {
this.previousPageCount = previousPageCount;
}
public int getNextPagecount() {
return nextPagecount;
}
public void setNextPagecount(int nextPagecount) {
this.nextPagecount = nextPagecount;
}
}
----------------------------------------------------------------------
jsp页面
<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.qxm.temp.PageControl;"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>
<html>
<head>
<title>display</title>
</head>
<body>
员工信息:
<hr>
<table bordercolor="red" border="1">
<tr>
<td>
员工id
</td>
<td>
姓名
</td>
<td>
班级
</td>
<td>
邮箱
</td>
</tr>
<c:forEach var="smalllist" items="${pc.smallList}">
<tr>
<td>
<c:out value="${smalllist.id}" />
</td>
<td>
<c:out value="${smalllist.name}" />
</td>
<td>
<c:out value="${smalllist.gender}" />
</td>
<td>
<c:out value="${smalllist.email}" />
</td>
</tr>
</c:forEach>
</table>
<a href="Dis?pageindex=1">首页</a>
<c:if test="${pc.previousPageCount > 0}" var="true">
<a href="Dis?pageindex=${pc.previousPageCount}">上一页</a>
</c:if>
<c:if test="${ pc.nextPagecount <= pc.pageSize}" var="true">
<a href="Dis?pageindex=${pc.nextPagecount}">下一页</a>
</c:if>
<a href="Dis?pageindex=${pc.pageSize}">尾页</a>
</body>
</html>
----------------------------------------------------------------------
po
package com.qxm.po;
import java.io.Serializable;
public class Student implements Serializable {
private static final long serialVersionUID = 1L;
private int id;
private String name;
private String gender;
private String email;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
}
----------------------------------------------------------------------
servlet
package servlet;
import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.qxm.dao.ConnectionDB;
import com.qxm.po.Student;
import com.qxm.temp.PageControl;
@SuppressWarnings("serial")
public class Dis extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
this.doPost(request, response);
}
public void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String currentpage = request.getParameter("pageindex");
if(currentpage == null){
currentpage = "1";
}
int pageindex = Integer.parseInt(currentpage);
PageControl pc = (PageControl)request.getAttribute("pc");
if(pc == null){
pc = new PageControl();
ConnectionDB condb = new ConnectionDB();
ArrayList<Student> allList = condb.getResultSet();
pc.setBigList(allList);
request.setAttribute("pc", pc);
}
pc.setCurrentPage(pageindex);
this.getServletContext().getRequestDispatcher("/display.jsp").forward(request, response);
}
}
----------------------------------------------------------------------
dao层
package com.qxm.dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import com.qxm.po.Student;
@SuppressWarnings("unchecked")
public class ConnectionDB {
public static Connection conn = null;
public static PreparedStatement ps = null;
public static ResultSet rs = null;
public void getconnection(){
try {
Class.forName("com.mysql.jdbc.Driver");
conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/info",
"root", "root");
} catch (ClassNotFoundException e) {
System.out.println("数据库驱动找不到");
e.printStackTrace();
} catch (SQLException e) {
System.out.println("数据库连接异常");
e.printStackTrace();
}
}
/**
* id name gender email
* @return
*/
public ArrayList<Student> getResultSet(){
this.getconnection();
ArrayList<Student> list = null;
list = new ArrayList<Student>();
String sql = "select id,name,gender,email from student";
try {
rs = conn.prepareStatement(sql).executeQuery();
while(rs.next()){
Student stu = new Student();
stu.setId(rs.getInt(1));
stu.setName(rs.getString(2));
stu.setGender(rs.getString(3));
stu.setEmail(rs.getString(4));
list.add(stu);
}
} catch (SQLException e) {
e.printStackTrace();
}finally{
this.closeConnection();
}
return list;
}
public void closeConnection(){
if(rs != null){
try {
rs.close();
} catch (SQLException e) {
System.out.println("rs关闭异常");
e.printStackTrace();
}
rs = null;
}
if(ps != null){
try {
ps.close();
} catch (SQLException e) {
System.out.println("ps关闭异常");
e.printStackTrace();
}
ps = null;
}
if(conn != null){
try {
conn.close();
} catch (SQLException e) {
System.out.println("conn关闭异常");
e.printStackTrace();
}
}
conn = null;
}
}
----------------------------------------------------------------------
分页逻辑
package com.qxm.temp;
import java.util.ArrayList;
import com.qxm.po.Student;
public class PageControl {
private ArrayList<Student> bigList; // 总集合
private int currentPage = 1; // 当前页数
private int pageCount = 2; // 每页数据的条数
private int pageSize; // 总页数
private int valueCount; // 总数据的条数
private ArrayList<Student> smallList;// 分页集合
private int previousPageCount;// 上一页的页数
private int nextPagecount; // 下一页的页数
public void setCurrentPage(int currentPage) {
this.currentPage = currentPage;
// 上一页
previousPageCount = currentPage - 1;
// 下一页
nextPagecount = currentPage + 1;
smallList = new ArrayList<Student>();
for (int i = (currentPage - 1) * pageCount; i < currentPage * pageCount
&& i < valueCount; i++) {
smallList.add(bigList.get(i));
}
}
public void setBigList(ArrayList<Student> bigList) {
this.bigList = bigList;
valueCount = bigList.size();
pageSize = valueCount % pageCount == 0 ? valueCount / pageCount
: valueCount / pageCount + 1;
}
public int getCurrentPage() {
return currentPage;
}
public ArrayList<Student> getBigList() {
return bigList;
}
public int getPageCount() {
return pageCount;
}
public void setPageCount(int pageCount) {
this.pageCount = pageCount;
}
public int getPageSize() {
return pageSize;
}
public void setPageSize(int pageSize) {
this.pageSize = pageSize;
}
public int getValueCount() {
return valueCount;
}
public void setValueCount(int valueCount) {
this.valueCount = valueCount;
}
public ArrayList<Student> getSmallList() {
return smallList;
}
public void setSmallList(ArrayList<Student> smallList) {
this.smallList = smallList;
}
public int getPreviousPageCount() {
return previousPageCount;
}
public void setPreviousPageCount(int previousPageCount) {
this.previousPageCount = previousPageCount;
}
public int getNextPagecount() {
return nextPagecount;
}
public void setNextPagecount(int nextPagecount) {
this.nextPagecount = nextPagecount;
}
}
----------------------------------------------------------------------
发表评论
-
jsp中获取路径
2009-05-02 13:50 2418http:/localhost/123/jsp/test.js ... -
数据库中读取文件
2009-03-05 13:44 825=============================== ... -
理解HTTP session原理及应用
2009-02-28 14:44 813摘自:http://www.cnblogs.com ... -
jsp(脚本)+javabean+servlet+dao分页
2009-02-15 11:48 1686po package com.qxm.po; impor ... -
C3P0连接池详细配置
2008-10-21 16:22 699转自http://msq.iteye.com & ... -
jsp过滤器(验证码)
2008-10-21 16:15 1024<?xml version="1.0" ... -
displaytag
2008-10-21 16:08 3919displaytag的配置方法 第一 在要分页的j ... -
velocity的配置
2008-10-21 15:48 11191.将VelocityWebEdit-1.0.8文件夹下的pl ... -
jstl实例参考
2008-10-09 14:41 1758<%@ taglib prefix="c&qu ... -
jstlURL
2008-10-09 14:16 637JSTL 前置 名称 URI 范例 核心 标签库 c http ... -
jsp实现购物车
2008-10-06 22:23 3137以下是一个学习是做的小项目 购物模块的的购物车 为了省事没用j ... -
JSP内置对象
2008-10-06 21:59 731jsp内置对象共有九个,他们分别是:out、page、page ...
相关推荐
统名称:jsp+servlet+javabean新闻发布系统 大家好,这是我搜集整理好并且测试通过的的一个新闻发布系统,有程序,设计详细文档和ppt演示,我现在把程序共享给大家,有需要完整文档的朋友请再联系我!! 系统角色:...
基于Jsp+JavaBean+Servlet实现MVC模式的分页模板 分页没有css,但分页功能齐全 对初学者应该有帮助 分三层编写dao层 service层 web层 数据库可以用ms server2005 或者 mysql5.0 脚本为ms2005.sql 、mysql.sql 切换...
前台页面有些粗糙,没有分页功能。主要体验mvc设计模式及流程。
分页,google验证码组建使用,精美分页样式,次纯属个人准备作品时候的分层作品,使用google验证码组件,以及自己写的分页,感觉用着还可以,分享给大家使用。只有功能,没有美工设计噢~~
完整的留言板系统,含初始化数据库脚本,完整分页,注册,登录,权限,DAO封装等实现,十分适合正在学习者参考
所以这个修改一下交一般的Web jsp的设计没问题的,里面唯一不足的就是显示分页那一板块,有一个DAO文件,里面弄得差不多了,差一个Servlet调用就行了,其他的都很简单,但是MVC弄得很好的。 因为是便于交作业的参考...
基于JSP+JavaBean+Servlet三层架构员工考勤管理系统源码+数据库+项目说明.zip # JavaWeb_Attendance 1. 软件开发流程(可说明软件的开发流程包括几个阶段,每个阶段做什么任务,出什么文档)z 1) 分析理解前端页面,...
使用JSP,servlet,mysql进行的真分页操作。包括jsp,servlet,javabean,dao以及mysql代码。
使用纯jsp+servlet+dao+javabean实现分页效果。代码简单容易理解。适合广大初学者。*_*
JSP+servlet+javabean学习 里面有PDF文件对该章节的详细讲解,培训老师才讲的到的,非常详细......资源内容如下: JavaWeb02-request与response.rar JavaWeb03-会话跟踪cookie与session.rar JavaWeb04-内置对象与...
实验十四 JSP+Servlet+JavaBean开发模式 33 一、实验目的 33 二、实验环境 33 三、实验步骤 33 1、创建Servlet LoginServlet实现登录验证 33 2、创建login.jsp、admin.jsp、user.jsp 33 3、调试程序是否正常运行 33 ...
第11章 javaweb邮件发送系统(jsp+servlet+javabean) 11.1 javaweb邮件发送系统原理 11.2 下载邮件相关jar包 11.3 普通方式电子邮件的发送 11.4 html方式电子邮件的发送 11.5 携带附件电子邮件的发送...
用jsp+Servlet+javabean进行项目开发,并未用框架,希望从底层的角度,来了解一个MVC项目的构成。 后续,可以用Spring+SpringMVC+MyBatis对项目进行重构。 目的:主要是了解做项目的流程,练习写代码,并不会过分...
不错的小项目,不需要下载积分,只要对大家有帮助就是对我的回报,,,嘻嘻!!!值得一看,,,希望大家有意见或者建议的就给我留言~~~~
第20章 网上宠物商店(JSP+JavaBean) 342 20.1 系统需求分析与概要设计 342 20.1.1 系统需求分析 342 20.1.2 系统模块划分 342 20.2 数据库设计 344 20.3 使用MyEclipse创建项目 347 20.4 系统公共模块的实现 348 ...
关键字:JSP,servlet,Ajax,jstl,JavaScript,注册,分页,购物车,增删改查 开发环境:Eclipse,MySQL 5.7,Tomcat 8.0 数据库表结构设计 图书表结构: 项目表结构: 订单表结构: userinfo表结构: 项目包...
它使用服务层框架可以将JavaBeans从Jsp/Servlet中分离出来,而使用表现层框架则可以将Jsp中剩余的JavaBeans完全分离,这部分JavaBeans主要负责显示相关信息,一般是通过标签库(Taglib)实现,不同框架有不同自己的...
JSP、Servlet、JavaBean技术的出现给我们构建强大的企业应用系统提供了可能。但用这些技术构建的系统非常的繁乱,所以在此之上,我们需要一个规则、一个把这些技术组织起来的规则,这就是框架,Struts便应运而生。 ...
17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 90 18、MVC的各个部分都有那些技术来实现?如何实现? 90 19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种...
17、JSP和Servlet有哪些相同点和不同点,他们之间的联系是什么? 90 18、MVC的各个部分都有那些技术来实现?如何实现? 90 19、我们在web应用开发过程中经常遇到输出某种编码的字符,如iso8859-1等,如何输出一个某种...