分页程序问题

cngift 2002-10-15 04:54:59
环境:win2k+resin2.1.4+jdk1.3.1+mysql3.23.52

问题:写了个class用jsp去调用,java编译通过了,但是在jsp调用的时候,出现错误信息说非法引用,当我将java的构造函数传的参数和生命时写的参数减少一个的时候说找不到形式符合的构造函数,我可是同时改的啊,当我把几个参数都删了的时候(java和jsp都改)又说我传的参数数量不对,期间将resin生成的几个目录都删除了,应该没缓存了吧,如果我只定义几个变量,什么函数不写,那么没错,如果我定义任何形式的函数,无论是构造函数还是什么类型的函数,都会报引用错误


程序:
java:

package bbs;
import java.sql.*;
import java.math .*;

public class Pagination{

//列表数
int PageSize;
//总页数
int Sum;
//当前页
int CurrentPage = 1;
//开始数
int StartNum;
//结束数
int EndNum;
ResultSet SqlResultSet = null;

Pagination(int PS,int CP,ResultSet RS){


try {
SqlResultSet = RS;
PageSize = PS;
CurrentPage = CP;
Sum = (int)Math.floor(SqlResultSet.getRow()/PageSize);
StartNum = CurrentPage * PageSize - PageSize + 1;
EndNum = CurrentPage * PageSize;
}
catch ( Exception e ) {
e.printStackTrace();
}


}

/* public void ShowList()throws java.sql.SQLException{
int i=1;
while(SqlResultSet.next() && (i<=EndNum)){
if(i>=StartNum){
System.out.println(SqlResultSet.getString("name"));
}
i++;
}
}

public void ShowNextPage(){

if(CurrentPage==1){
System.out.println("[首页] \n");
}else{
System.out.println("<a href=?CurrentPage=1>[首页]</a>\n");
}

if(CurrentPage>1){
CurrentPage--;
System.out.println("<a href=?CurrentPage="+CurrentPage+">[前页]</a>\n");
CurrentPage++;
}else{
System.out.println("[前页]\n");
}

System.out.println(" ");

if(CurrentPage<Sum && Sum != 0){
CurrentPage++;
System.out.println("<a href=?CurrentPage="+CurrentPage+">[后页]</a> \n");
CurrentPage--;
}else{
System.out.println("[后页] \n");
}

if(CurrentPage != Sum && Sum != 0){
System.out.println("<a href=?CurrentPage=Sum>[末页]</a> \n");
}else{
System.out.println("[末页] \n ");
}

System.out.println("[当前"+CurrentPage+"/"+Sum+"页]");

}*/

}

***************************************
jsp:

<%@page language="java" import="java.sql.*" contentType="text/html; charset=gb2312" %>
<form action="" method="post">
<input type="text" name="aaa">
<input type="submit">
</form>
<%
String sql = "select * from forum_category";
//连接数据库
bbs.DB DB = new bbs.DB();
ResultSet rs = DB.Query(sql);

bbs.Pagination PA = new bbs.Pagination(2,1,rs);
//PA.ShowList();
//PA.ShowNextPage();

%>

*************************************

其中bbs.DB时我以前写的,使用正常,说明我的classpath没错,希望大家帮忙
...全文
37 24 打赏 收藏 转发到动态 举报
写回复
用AI写文章
24 条回复
切换为时间正序
请发表友善的回复…
发表回复
shanmao 2002-10-28
  • 打赏
  • 举报
回复
什么都不写表示,在自己的包内可以调用,在其他包不可用
cngift 2002-10-22
  • 打赏
  • 举报
回复
实在感谢大家的帮助!谢谢!
cngift 2002-10-22
  • 打赏
  • 举报
回复
抱歉!这几天公司网慢,访问csdn打不开
shanmao(山猫) :200分是你的了,我会尽快结帖子

还有,我记得函数如果不写访问权限应该是默认的public的啊,难道构造函数不同?
shanmao 2002-10-17
  • 打赏
  • 举报
回复
cngift(开花石头) 怎么不出来了,到底怎么会事啊
cngift 2002-10-16
  • 打赏
  • 举报
回复
1.关于说类没引进来的问题
我说了,没有报找不到类,而且,我用的是(包名.类名)的形式,怎么可能是包没引进来,怎么可能还需要import?而且,我上面也说了,同在一个包下的bbs.DB没问题,怎么可能是classpath错误那?

2.你做一个空类只有一个方法什么参数和功能都没有调用以下,看能不能调用,把反映的报错贴一下

“如果我只定义几个变量,什么函数不写,那么没错,如果我定义任何形式的函数,无论是构造函数还是什么类型的函数,都会报引用错误”我在上面说了啊,报什么错误信息我都说了啊

*************************************************

对大家很失望,真的,我在C#版有4个200分的问题只有一帮人在那里关注,还有人在我提问的帖子中看到我的程序问我一些问题,faint,最后我自己解决了,把答案放上来,加FAQ加不了,说不能加自己的帖子

这个问题我上来问,我想我已经将问题叙述的很清楚了,如果有什么我没说清楚,还希望大家引导一下,可看列位回答的,明显是没看我的提问啊,起码没仔细看,而且,有2位说要import,我记得任何一本基础的书中开始将的时候没用import都用的是包名.类名的形式吧,而且我也说了,同一个包下面的类可以用,证明classpath没错,怎么还有老兄说jsp找不到classpath那?还有一位叫贴错误信息,我想我已经说了吧

感谢几位兄弟的热心,可我希望大家能帮助我解决问题,我已经在C#版很失望了,但我认为C#是新的,没有什么高手可言,大部分都是从C++过来的,但是我希望不要在java中也出现同样的问题,谢谢,再次感谢各位的热心
vdragon 2002-10-16
  • 打赏
  • 举报
回复
agree shanmao
应该是访问权限的问题
zyb9114 2002-10-16
  • 打赏
  • 举报
回复
搜索JAVA论坛的"分页",很详细.你可以去看一下.
shanmao 2002-10-16
  • 打赏
  • 举报
回复
public Pagination(int PS,int CP,ResultSet RS){
^

try {
SqlResultSet = RS;
PageSize

构造函数也有访问权限的设置问题,什么都不写是默认权限,你外部程序是访问不了的,如果这个函数是构造函数则表现为包外的类不能构造这个类
在线等待测试结果
shanmao 2002-10-16
  • 打赏
  • 举报
回复
你说的异常解释是你判断过的信息,我要得是服务器原汁原味的异常出错

你把你的判断结果说出来有什么用,你都判断清楚了还要我们回答干什么
cngift 2002-10-16
  • 打赏
  • 举报
回复
补充:

现在不是说编译过不了,编译已经过了,没问题,但是在实例的时候错,错误信息就是说找不到相应的构造函数,哪怕我吧class和jsp中的定义成1个,实例的时候也传1个参数都不行,出错信息就是中文,找不到相应的构造函数

/test.jsp:12: class bbs.Pagination 中未找到匹配 Pagination(int, int, java.sql.ResultSet)
的构造函数。
bbs.Pagination PA = new bbs.Pagination(2,1,rs);
cngift 2002-10-16
  • 打赏
  • 举报
回复
1.不是数据库错误,和数据库没关系
我说明了我的bbs.DB程序没错,数据库和路径都没错,jdbc-odbc可用,我知道resin也不认系统配的path,我将驱动配好了,再说,我是实例的时候出错,还没到数据库啊

2.我没有用bean,我成功的引用了这个类了
我将包引进来了,没有报找不到函数的错误啊,“<%@page language="java" import="java.sql.*" contentType="text/html; charset=gb2312" %>”

3.不是发火,其中定义变量我说了,可以,但是不能定义函数

“如果我只定义几个变量,什么函数不写,那么没错,如果我定义任何形式的函数,无论是构造函数还是什么类型的函数,都会报引用错误”
并不是说方法不能引用,是只要实例就错,如果其中没有定义函数则实例没问题

4.要什么出错信息?
“当我将java的构造函数传的参数和生命时写的参数减少一个的时候说找不到形式符合的构造函数”

***********************************************

再次说明,我只是来这里解决问题,大家回答是帮助我,不回答也没什么说不过去,但是,如果大家能帮助我的话,我希望大家将我的问题看明白后再回答,已经提问2天了,大家现在说的可能性我都试验了,也在提问的时候给出了结果了,如果由于某些文化背景不同的兄弟看不懂就不麻烦您了

再次感谢大家的帮助!
vdragon 2002-10-16
  • 打赏
  • 举报
回复
agree xuw(海上的桥)
建议使用
<jsp:useBean id="" class=""/>
来引用class

agree shanmao(山猫)
把报异常的那一页全部copy上来
同时如果控制台有输出的话一并copy上来
shanmao 2002-10-16
  • 打赏
  • 举报
回复
xuw(海上的桥) (
讲的是用bean的方法,这里直接使用类也可以
楼主把这个类的方法内容注释掉不要带着这么多代码调试,很难定位错误焦点的
shanmao 2002-10-16
  • 打赏
  • 举报
回复
把你服务器上报异常原文贴出来,一字不拉
引用不了方法,可不可以引用变量呢

你遇到问题心理急噪可以理解,但不要乱发火,大家文化背景不同对你的语言描述理解不了是很正常的,
shanmao 2002-10-16
  • 打赏
  • 举报
回复
把你服务器上报异常原文贴出来,一字不拉
引用不了方法,可不可以引用变量呢

你遇到问题心理急噪可以理解,但不要乱发火,大家文化背景不同对你的语言描述理解不了是很正常的,
xuw 2002-10-16
  • 打赏
  • 举报
回复
jsp中引进的行式大体是
< jsp:useBean id="helloBean" scope="session" class="HelloWorld" />
这里面还有几个可选参数.
我猜想你可能是在引用的时候写错了参数,或者是你的类文件在格式上不正确.
我建议你好好查一下你写的代码, 我认为在这里面也许能找到错误.
bcdavid 2002-10-16
  • 打赏
  • 举报
回复
up
zrhk 2002-10-16
  • 打赏
  • 举报
回复
我也碰到过同样的问题,不过我是用tomcat
jsp不认系统设置的的classpath,所以我以前一直不用连到数据库
后来把jdbc driver几个包和我自己的类库拷的到tomcat\common\lib下
就可以认了,
所以你找找有没有服务器默认的包目录,把所要用到的包拷到那下面

qxjavajava 2002-10-15
  • 打赏
  • 举报
回复
Pagination 这个类没有引用进来吧.
DanielYoung 2002-10-15
  • 打赏
  • 举报
回复
严重关注
加载更多回复(4)

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧