사례 12:페이지 나 누 기
아래 의 이 예 는 가짜 페이지 의 예 이다.
- <%@ page contentType="text/html; charset=gb2312" language="java" import="java.sql.*" errorPage="" %>
- <%@ page import="java.sql.*"%>
- <%@ page import="javax.sql.*"%>
- <%@ page import="javax.naming.*"%>
- HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
-
- <title> title>
- head>
-
- <body>
-
- <%
- //
-
- java.sql.Statement sqlStmt;//SQL
- java.sql.ResultSet sqlRst;//
-
- java.lang.String strCon;//
- java.lang.String strSQL;//SQL
- int intPageSize;//
- int intRowCount;//
- int intPageCount;//
- int intPage;//
- java.lang.String strPage;
- int i;
- //
- intPageSize=2;
- //
- strPage=request.getParameter("page");
- if(strPage==null){// QueryString page ,
- intPage=1;
- }
- else{//
- intPage=java.lang.Integer.parseInt(strPage);
- //if(intPage<1)intPage=1;
- }
-
-
- InitialContext ctx=new InitialContext();
-
- DataSource ds=(DataSource)ctx.lookup("java:comp/env/jdbc/mysql");
-
- Connection conn = ds.getConnection();
- // SQL
- sqlStmt=conn.createStatement(java.sql.ResultSet.TYPE_SCROLL_INSENSITIVE,java.sql.ResultSet.CONCUR_READ_ONLY);
- // SQL
- strSQL="select * from publishers";
- // SQL
- sqlRst=sqlStmt.executeQuery(strSQL);
- //
- sqlRst.last();
- intRowCount=sqlRst.getRow();
- //
- intPageCount=(intRowCount+intPageSize-1)/intPageSize;
- //
- //if(intPage>intPageCount)
- //intPage=intPageCount;
- %>
-
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html;charset=gb2312">
- <title>JSP - -JDBC3.0title>
- head>
- <body>
- <table border="1" cellspacing="0" cellpadding="0">
- <tr>
- <th> IDth>
- <th> th>
- tr>
- <%
- if(intPageCount>0){
- //
- sqlRst.absolute((intPage-1)*intPageSize+1);
- //
- i=0;
- while(i<intPageSize&&!sqlRst.isAfterLast()){
- %>
- <tr>
- <td><%=sqlRst.getString(1)%>td>
- <td><%=sqlRst.getString(2)%>td>
- tr>
- <%
- sqlRst.next();
- i++;
- }
- }
- %>
- table>
- <br>
- <%=intPage%> <%=intPageCount%>
- <%if(intPage<intPageCount){%><a href="PageIndex.jsp?page="> a><%}%>
-
- <%if(intPage>1){%><a href="PageIndex.jsp?page="> a><%}%>
- body>
- html>
- <%
- //
- sqlRst.close();
- // SQL
- sqlStmt.close();
- //
- conn.close();
- %>
- body>
- html>
데이터베이스 생 성 스 크 립 트:
- drop database demo if exists;
-
- create database demo;
-
- use demo;
-
- create table publishers(
- Pub_ID int primary key auto_increment,
- Pub_Name varchar(20)
- );
-
- insert into publishers values(1,' ');
- insert into publishers values(2,' ');
- insert into publishers values(3,' ');
- insert into publishers values(4,' ');
- insert into publishers values(5,' ');
- insert into publishers values(6,' ');
그리고 데이터베이스 연결 탱크 설정:
tomcat 루트 디 렉 터 리 에 있 는 conf/context.xml 파일 을 열 고...에 입력 하 십시오:
- <Resource name="jdbc/mysql"
- auth="Container"
-
- type="javax.sql.DataSource"
- driverClassName="com.mysql.jdbc.Driver"
- url="jdbc:mysql://localhost:3306/demo"
- username="root"
- password="123456"
- maxActive="100"
- maxIdle="30"
- maxWait="10000" />
웹.xml 을 열 고...에 다음 코드 를 추가 합 니 다:
- <resource-ref>
- <description>DB Connectiondescription>
- <res-ref-name>jdbc/mysqlxres-ref-name>
- <res-type>javax.sql.DataSourceres-type>
- <res-auth>Containerres-auth>
- resource-ref>
데이터베이스 연결 풀 설정 완료!페이지 에 접근 하면 됩 니 다.
데이터 페이지 는 자주 사용 되 는 기능 입 니 다.우 리 는 hibenate 로 포장 하 는 방법 을 사용 할 수 있 습 니 다(저 는 아직 할 줄 모 릅 니 다)
데이터 페이지 의 관건 은 바로 네 개의 변수 이다.총 줄 수(ResultSet 을 통 해 얻 을 수 있 음),총 페이지 수(계산 할 수 있 음),현재 페이지(이전 페이지 다음 페이지 를 통 해 전달),각 페이지 에 표 시 된 줄 수 intPageSize(일반적으로 지정 되 어 있 음).
그 다음 에 전달 할 페이지 수 에 따라 ResultSet 포인 터 를 그 페이지 의 첫 번 째 요소 로 지정 하고 intPageSize 줄 이 표시 되 거나 조회 결과 의 끝 에 이 를 때 까지 반복 적 으로 옮 겨 다 닙 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
spring + struts + hibenate 프로젝트 설정log4j.properties log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.ap...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.