运行以下程序后,第一页可以正常显示,但点击上一页,下一页就出404的错,真不知是哪里不行哦,我用的是TOMCAT6。0
不知怎么改才能出现分页显示的效果,希望各位前辈多指教啊 !!!//以下为分页的代码:
****pagination.jsp
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=utf-8""%>
<html>
<head>
<title>分页显示</title>
</head>
<body>
<center>
<h1>人员列表</h1>
<hr>
<br>
<%!
final String jspUrl = "pagination.jsp" ;
%>
<%
int lineSize = 10 ;
int currentPage = 1 ;
%>
<%
try
{
currentPage = Integer.parseInt(request.getParameter("cp")) ;
}
catch(Exception e)
{}
%>
<%
final String DBDRIVER = "com.mysql.jdbc.Driver" ;
final String DBURL = "jdbc:mysql://localhost/test" ;
final String DBUSER = "root" ;
final String DBPASSWORD = "root" ;
Connection conn = null ;
%>
<%
try
{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
String sql = "SELECT id,uid,name,password FROM person" ;
PreparedStatement pstmt = null ;
pstmt = conn.prepareStatement(sql) ;
ResultSet rs = pstmt.executeQuery() ;
%>
<script language="javaScript">
function openPage(curpage)
{
document.spage.cp.value = curpage ;
document.spage.submit();
}
</script>
<form name="spage" action="<%=jspUrl%>">
<input type="button" value="首页" onClick="openPage(1)">
<input type="button" value="上一页" onClick="openPage(<%=currentPage-1%>)">
<input type="button" value="下一页" onClick="openPage(<%=currentPage+1%>)">
<input type="button" value="尾页">
<input type="hidden" name="cp" value="">
</form>
<table border="1" width="80%">
<tr>
<td>编号</td>
<td>名称</td>
<td>姓名</td>
<td>密码</td>
<td colspan="2">操作</td>
</tr>
<%
int i = 0 ;
for(int x=0;x<(currentPage-1)*lineSize;x++)
{
rs.next();
}
for(int x=0;x<lineSize;x++)
{
if(rs.next())
{
i++ ;
int id = rs.getInt(1) ;
String userid = rs.getString(2) ;
String name = rs.getString(3) ;
String password = rs.getString(4) ;
%>
<tr>
<td><%=id%></td>
<td><%=userid%></td>
<td><%=name%></td>
<td><%=password%></td>
<td>更新</td>
<td>删除</td>
</tr>
<%
}
}
rs.close() ;
pstmt.close() ;
if(i==0)
{
%>
<tr>
<td colspan="6">没有任何数据!!</td>
</tr>
<%
}
%>
</table>
<%
}
catch(Exception e)
{
%>
<h2>出错啦!!!</h2>
<%
}
finally
{
conn.close() ;
}
%>
</center>
</body>
</html>
不知怎么改才能出现分页显示的效果,希望各位前辈多指教啊 !!!//以下为分页的代码:
****pagination.jsp
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=utf-8""%>
<html>
<head>
<title>分页显示</title>
</head>
<body>
<center>
<h1>人员列表</h1>
<hr>
<br>
<%!
final String jspUrl = "pagination.jsp" ;
%>
<%
int lineSize = 10 ;
int currentPage = 1 ;
%>
<%
try
{
currentPage = Integer.parseInt(request.getParameter("cp")) ;
}
catch(Exception e)
{}
%>
<%
final String DBDRIVER = "com.mysql.jdbc.Driver" ;
final String DBURL = "jdbc:mysql://localhost/test" ;
final String DBUSER = "root" ;
final String DBPASSWORD = "root" ;
Connection conn = null ;
%>
<%
try
{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
String sql = "SELECT id,uid,name,password FROM person" ;
PreparedStatement pstmt = null ;
pstmt = conn.prepareStatement(sql) ;
ResultSet rs = pstmt.executeQuery() ;
%>
<script language="javaScript">
function openPage(curpage)
{
document.spage.cp.value = curpage ;
document.spage.submit();
}
</script>
<form name="spage" action="<%=jspUrl%>">
<input type="button" value="首页" onClick="openPage(1)">
<input type="button" value="上一页" onClick="openPage(<%=currentPage-1%>)">
<input type="button" value="下一页" onClick="openPage(<%=currentPage+1%>)">
<input type="button" value="尾页">
<input type="hidden" name="cp" value="">
</form>
<table border="1" width="80%">
<tr>
<td>编号</td>
<td>名称</td>
<td>姓名</td>
<td>密码</td>
<td colspan="2">操作</td>
</tr>
<%
int i = 0 ;
for(int x=0;x<(currentPage-1)*lineSize;x++)
{
rs.next();
}
for(int x=0;x<lineSize;x++)
{
if(rs.next())
{
i++ ;
int id = rs.getInt(1) ;
String userid = rs.getString(2) ;
String name = rs.getString(3) ;
String password = rs.getString(4) ;
%>
<tr>
<td><%=id%></td>
<td><%=userid%></td>
<td><%=name%></td>
<td><%=password%></td>
<td>更新</td>
<td>删除</td>
</tr>
<%
}
}
rs.close() ;
pstmt.close() ;
if(i==0)
{
%>
<tr>
<td colspan="6">没有任何数据!!</td>
</tr>
<%
}
%>
</table>
<%
}
catch(Exception e)
{
%>
<h2>出错啦!!!</h2>
<%
}
finally
{
conn.close() ;
}
%>
</center>
</body>
</html>
package com;
import java.sql.*;
import java.util.*;;
public class sqlManage {
private SqlBean dbc;
private Connection con;
private int PAGESIZE=15; //每页行数
private int PAGENUMBER=0; //页数
private int PAGEID=0; //第?页
private int num=0;
private ResultSet rs=null;
public sqlManage(String EmployeeID,String sql){
try {
dbc=new SqlBean();
con=dbc.getConncet();
Statement st=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
rs=st.executeQuery(sql);
rs.last();
num=rs.getRow();
rs.first();
this.PAGENUMBER=num/PAGESIZE+(num%PAGESIZE>0?1:0);
System.out.println(PAGENUMBER);
} catch (Exception e) {
System.out.println(e);
}
}
public int getNum() {
return num;
}
public void setNum(int num) {
this.num = num;
}
public int getPAGEID() {
return PAGEID;
}
public void setPAGEID(int pageid) {
PAGEID = pageid;
}
public int getPAGENUMBER() {
return PAGENUMBER;
}
public void setPAGENUMBER(int pagenumber) {
PAGENUMBER = pagenumber;
}
public int getPAGESIZE() {
return PAGESIZE;
}
public void setPAGESIZE(int pagesize) {
PAGESIZE = pagesize;
}
public Vector getData(int pageid){
if(pageid<1){
pageid=1;
}
else if(pageid>PAGENUMBER){
pageid=PAGENUMBER;
}
try {
this.PAGEID=pageid;
rs.first();
for(int i=0;i<(pageid-1)*PAGESIZE;i++){
rs.next();
}
Vector alldata=new Vector();
for(int i=0;i<PAGESIZE;i++){
Vector v=new Vector();
int cols=rs.getMetaData().getColumnCount();
for(int j=0;j<cols;j++){
String str=rs.getString(j+1);
System.out.println(str);
v.add(str);
}
alldata.add(v);
if(!rs.next()){
break;
}
}
return alldata;
} catch (Exception e) {
System.out.println(e);
return null;
}
}}
*****数据库脚本-- 删除表
DROP TABLE person ;
-- 建立person表
CREATE TABLE person
(
-- 生成一个流水号,观察显示的记录数
id int AUTO_INCREMENT NOT NULL PRIMARY KEY ,
-- 用户的登陆ID
uid varchar(32) ,
-- 用户的真实姓名
name varchar(32) ,
-- 用户的登陆密码
password varchar(20)
) ;
-- 插入测试数据
INSERT INTO person(uid,name,password) VALUES ('per01','人01','csdn01') ;
INSERT INTO person(uid,name,password) VALUES ('per02','人02','csdn02') ;
...............先后插入了28条数据,但就是显示效果时,出错,第一页很正常的,就是下一页不行,是不是我这边的这个用法不行“<%!
final String jspUrl = "pagination.jsp" ;
%>
<form name="spage" action="<%=jspUrl%>">”,
因为它显示的是404错误,是找不到页面啊,该怎样去修改呢,其他的都挺正常的啊,这个跳转应该不存在什么问题啊****pagination.jsp
<%@ page language="java" import="java.sql.*" contentType="text/html;charset=utf-8""%>
<html>
<head>
<title>分页显示</title>
</head>
<body>
<center>
<h1>人员列表</h1>
<hr>
<br>
<%!
final String jspUrl = "pagination.jsp" ;
%>
<%
int lineSize = 10 ;
int currentPage = 1 ;
%>
<%
try
{
currentPage = Integer.parseInt(request.getParameter("cp")) ;
}catch(Exception e){
}
%>
<%
final String DBDRIVER = "com.mysql.jdbc.Driver" ;
final String DBURL = "jdbc:mysql://localhost/test" ;
final String DBUSER = "root" ;
final String DBPASSWORD = "root" ;
Connection conn = null ;
%>
<%
try
{
Class.forName(DBDRIVER) ;
conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;
String sql = "SELECT id,uid,name,password FROM person" ;
PreparedStatement pstmt = null ;
pstmt = conn.prepareStatement(sql) ;
ResultSet rs = pstmt.executeQuery() ;
%>
<script language="javaScript">
function openPage(curpage)
{
document.spage.cp.value = curpage ;
document.spage.submit();
}
</script>
<form name="spage" action="<%=jspUrl%>">
<input type="button" value="首页" onClick="openPage(1)">
<input type="button" value="上一页" onClick="openPage(<%=currentPage-1%>)">
<input type="button" value="下一页" onClick="openPage(<%=currentPage+1%>)">
<input type="button" value="尾页">
<input type="hidden" name="cp" value="">
</form>
<table border="1" width="80%">
<tr>
<td>编号</td>
<td>名称</td>
<td>姓名</td>
<td>密码</td>
<td colspan="2">操作</td>
</tr>
<%
int i = 0 ;
for(int x=0;x<(currentPage-1)*lineSize;x++){
rs.next();
}
for(int x=0;x<lineSize;x++){
if(rs.next())
{
i++ ;
int id = rs.getInt(1) ;
String userid = rs.getString(2) ;
String name = rs.getString(3) ;
String password = rs.getString(4) ;
%>
<tr>
<td><%=id%></td>
<td><%=userid%></td>
<td><%=name%></td>
<td><%=password%></td>
<td>更新</td>
<td>删除</td>
</tr>
<%
}
}
rs.close() ;
pstmt.close() ;
if(i==0){
%>
<tr>
<td colspan="6">没有任何数据!!</td>
</tr>
<%
}
%>
</table>
<%
}catch(Exception e){
%>
<h2>出错啦!!!</h2>
<%
}finally{
conn.close() ;
}
%>
</center>
</body>
</html>
function openPage(curpage)
{
var url='pagination.jsp?cp='+curpage;
window.location.href=url;
}
大致应该是这样吧,具体还得你再调适。你这个JSP页面的form的action的值没有作用,因为你没有submit按钮
http://download.csdn.net/source/1823849
用了一天的时间,
问题终于找出来了,是tomcat容器配置布署的问题。 散分吧,见者有分。