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

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

1.分页的demo文件结构图

1ee8413623fb412c5509c00d47f634fb.png

导入的包

984e5d34de09b4f0d78dd8eed6bc4314.png

2.代码

SplitPageServlet代码

package ActionServlet;

import java.io.IOException;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

import Bean.ProjectBean;

import Service.SplitPage;

/**

* Servlet implementation class SplitPageServlet

*/

@WebServlet("/SplitPageServlet")

public class SplitPageServlet extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#HttpServlet()

*/

public SplitPageServlet() {

super();

// TODO Auto-generated constructor stub

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

ListlistArr = new ArrayList();

String currrentPageString = request.getParameter("currrentPage");

String numberForSplitPage = request.getParameter("numberForSplitPage");

if( currrentPageString ==null){

currrentPageString = "1";

}

if( numberForSplitPage == null){

numberForSplitPage = "5";

}

SplitPage splitPage = new SplitPage();

try {

listArr = splitPage.AllSplitPage(numberForSplitPage, currrentPageString);

request.setAttribute("subResult", listArr);

} catch (ClassNotFoundException | SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

System.out.println(SplitPage.pageNumber);

System.out.println(SplitPage.currentPageIndex);

request.setAttribute("pageNumber", SplitPage.pageNumber);

request.setAttribute("currentPageIndex", SplitPage.currentPageIndex);

request.getRequestDispatcher("/servlet/ShowViewIndex").forward(request, response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

ProjectBean代码

package Bean;

public class ProjectBean {

private String projectId = null;

private String projectName = null;

private String projectType = null;

private String userNo = null;

private String projectUser = null;

public String getProjectId(){

if(projectId==null){

projectId ="";

}

return this.projectId;

}

public void setProjectId(String projectId){

this.projectId = projectId;

}

public void setProjectName(String projectName){

this.projectName = projectName;

}

public String getProjectName(){

return this.projectName;

}

public void setType(String projectType){

this.projectType = projectType;

}

public String getProjectType(){

return this.projectType;

}

public void setUserNo(String userNo){

this.userNo = userNo;

}

public String getUserNo(){

return this.userNo;

}

public void setProjectUser(String projectUser){

this.projectUser = projectUser;

}

public String getProjectUser(){

return this.projectUser;

}

}

SplitPageBean 代码

package Bean;

public class SplitPageBean {

private int allitems;//总的记录数

private int currentRecord;//当前的记录数

private int lastPageRecord ; //上一页记录数开始数

private int nextPageRecord;//下一页记录数开始数

private int lastPageIndex ; //上一页

private int nextPageIndex;//下一页

private int currentPageIndex;//当前页

private int numberForSplitPage;//每页分的数量

private int allPageNumber;

public int getAllitems(){

return this.allitems;

}

public void setAllitems(int allitems){

this.allitems = allitems;

}

public int getCurrentRecord(){

return this.currentRecord;

}

public void setCurrentRecord(int currentPageIndex){

this.currentRecord = currentPageIndex * this.numberForSplitPage;

}

public int getlastPageRecord(){

return this.lastPageRecord;

}

public void setLastPageRecord(int lastPageIndex){

this.lastPageRecord = lastPageIndex * this.numberForSplitPage;

}

public int getNextPageRecord(){

return this.nextPageRecord;

}

public void setNextPageRecord(int nextPageIndex){

this.nextPageRecord = nextPageIndex * this.numberForSplitPage;

}

public int getLastPageIndex(){

return this.lastPageIndex;

}

public void setLastPageIndex(int currentPageIndex){

this.lastPageIndex = currentPageIndex - 1;

}

public int getNextPageIndex(){

return this.nextPageIndex;

}

public void setNextPageIndex(int currentPageIndex){

this.nextPageIndex = currentPageIndex - 1;

}

public int getCurrentPageIndex(){

return this.currentPageIndex;

}

public void setCurrentPageIndex(int currentPageIndex){

this.currentPageIndex = currentPageIndex;

}

public int getNumberForSplitPage(){

return this.numberForSplitPage;

}

public void setNumberForSplitPage(int numberForSplitPage){

this.numberForSplitPage = numberForSplitPage;

}

public int getAllPageNumber(){

return this.allPageNumber;

}

public void setAllPageNumber(int allitems){

this.allPageNumber = allitems / this.numberForSplitPage + 1;

}

}

QueryProject代码

package Dao;

import java.sql.Connection;

import java.sql.ResultSet;

import java.sql.SQLException;

import java.sql.Statement;

import java.util.ArrayList;

import java.util.List;

import Bean.ProjectBean;

import Service.ConnectDataBase;

public class QueryProject {

private List listArr = new ArrayList();

public List QueryAllProject() throws ClassNotFoundException, SQLException{

Connection conn=null;

Statement stat=null;

ResultSet rs=null;

ConnectDataBase connectDataBase =new ConnectDataBase();

conn = connectDataBase.connect();

stat = conn.createStatement();

rs = stat.executeQuery("select*from project");

while(rs.next()){

ProjectBean projectBean = new ProjectBean();

projectBean.setProjectId(rs.getString("projectId"));

projectBean.setProjectName(rs.getString("projectName"));

projectBean.setType(rs.getString("projectType"));

projectBean.setUserNo(rs.getString("UserNo"));

projectBean.setProjectUser(rs.getString("projectUser"));

listArr.add(projectBean);

}

connectDataBase.close(stat, conn);

return listArr;

}

// public static void main(String[] args) throws ClassNotFoundException, SQLException{

// List listArr = new ArrayList();

// QueryProject queryProject = new QueryProject();

// listArr = queryProject.QueryAllProject();

// ProjectBean projectBean = new ProjectBean();

// projectBean = listArr.get(0);

// System.out.println(projectBean.getProjectId());

// projectBean = listArr.get(2);

// System.out.println(projectBean.getProjectId());

// System.out.println(listArr.size());

// }

}

ConenctDataBase代码

package Service;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.SQLException;

import java.sql.Statement;

public class ConnectDataBase {

private String url = "jdbc:MySQL://localhost:3306/zhongchuangweb";

private String user = "root";

private String password = "12345";

public Connection connect() throws ClassNotFoundException, SQLException{

Class.forName("com.mysql.jdbc.Driver");

Connection conn = DriverManager.getConnection(url,user,password);

return conn;

}

//关闭数据库资源

public void close(Statement stat,Connection conn) throws SQLException{

if(stat!=null){

stat.close();

}

if(conn!=null){

conn.close();

}

}

}

SplitPage代码

package Service;

import java.sql.SQLException;

import java.util.ArrayList;

import java.util.List;

import Bean.ProjectBean;

import Bean.SplitPageBean;

import Dao.QueryProject;

public class SplitPage {

public static int pageNumber;

public static int currentPageIndex;

private List splitArr = new ArrayList();

{

QueryProject queryProject = new QueryProject();

try {

splitArr = queryProject.QueryAllProject();

} catch (ClassNotFoundException | SQLException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

public List AllSplitPage(String numberForSplitPage,String requestPageIndex) throws ClassNotFoundException, SQLException{

List result = new ArrayList();

int numberForSplitPageInt = Integer.parseInt(numberForSplitPage);//每页的数量

int requestPageIndexInt = Integer.parseInt(requestPageIndex);//请求的页码

SplitPageBean splitPageBean = new SplitPageBean();

splitPageBean.setAllitems(splitArr.size());//设置总的记录数

splitPageBean.setNumberForSplitPage(numberForSplitPageInt);//设置每页的记录数量

splitPageBean.setAllPageNumber(splitArr.size());

pageNumber = splitPageBean.getAllPageNumber();

splitPageBean.setCurrentPageIndex(requestPageIndexInt);//设置请求页页码

currentPageIndex = splitPageBean.getCurrentPageIndex();

splitPageBean.setLastPageRecord(requestPageIndexInt-1);

if(splitPageBean.getAllitems()

result = splitArr;

}else if(splitPageBean.getCurrentPageIndex()*splitPageBean.getNumberForSplitPage() > splitPageBean.getAllitems()){

result = splitArr.subList(splitPageBean.getlastPageRecord(),splitPageBean.getAllitems());

}else{

result = splitArr.subList(splitPageBean.getlastPageRecord(),splitPageBean.getlastPageRecord()+splitPageBean.getNumberForSplitPage());//SubList用法不包含末尾索引

}

return result;

}

// public static void main(String[] args) throws ClassNotFoundException, SQLException{

// List TestResult = new ArrayList();

// ProjectBean projectBean = new ProjectBean();

// SplitPage splitPage = new SplitPage();

// TestResult = splitPage.AllSplitPage("5","1");

// projectBean = TestResult.get(0);

// System.out.println(projectBean.getProjectId());

// projectBean = TestResult.get(1);

// System.out.println(projectBean.getProjectId());

// projectBean = TestResult.get(2);

// System.out.println(projectBean.getProjectId());

// projectBean = TestResult.get(3);

// System.out.println(projectBean.getProjectId());

// projectBean = TestResult.get(4);

// System.out.println(projectBean.getProjectId());

// projectBean = TestResult.get(5);

// System.out.println(projectBean.getProjectId());

//

// }

}

显示层

ShowViewIndex代码

package View;

import java.io.IOException;

import javax.servlet.ServletException;

import javax.servlet.annotation.WebServlet;

import javax.servlet.http.HttpServlet;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;

/**

* Servlet implementation class ShowViewIndex

*/

@WebServlet("/ShowViewIndex")

public class ShowViewIndex extends HttpServlet {

private static final long serialVersionUID = 1L;

/**

* @see HttpServlet#HttpServlet()

*/

public ShowViewIndex() {

super();

// TODO Auto-generated constructor stub

}

/**

* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)

*/

protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

request.getRequestDispatcher("/NewFile.jsp").forward(request, response);

}

/**

* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)

*/

protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {

// TODO Auto-generated method stub

doGet(request, response);

}

}

jsp页面代码

pageEncoding="utf-8"%>

数据库内容分页显示

*{ margin:0; padding:0;}

ul li{ width:50px; height:24px; line-height:24px; float:left; margin-left:0px; display:inline; margin-top:5px; overflow:hidden;}

ul li button{width:50px;height:24px;margin:0px;padding:0px;}

编号名称类型学号负责人

int i =(Integer)request.getAttribute("pageNumber");

for (int j=0;j

{%>

> >

xml代码

SplitPageServlet

ShowViewIndex

View.ShowViewIndex

ShowViewIndex

/servlet/ShowViewIndex

SplitPageServlet

ActionServlet.SplitPageServlet

SplitPageServlet

/servlet/SplitPageServlet

运行结果展示

36f7b292307f6601400989bdce8e5e0b.png

数据库describe

56af6538345514cc7a5b5f97b7254a9a.png

同时在本次demo中认识到了xml的中使用欢迎界面通过    静态界面(jsp html)还可以使用servlet直接用servlet名即可。

初学java和javaee 写一点自己做的东西,代码写的不是很规范,不喜勿喷。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值