奇怪的问题,servlet无法调用同一个包下的类

kevinliuu 2004-04-09 08:23:52
一个工具类SQLUtil,放在Tomcat\webapps\WEB-INF\classes\test; 编译通过
一个servlet SQLGatewayServlet也放到test下,但需要调用SQLUtil里的一个静态方法,却怎么编译也通过不了,报错如下:

SQLGatewayServlet.java:54: cannot resolve symbol
symbol : variable SQLUtil
location: class test.SQLGatewayServlet
message = SQLUtil.getHtmlRows(resultSet);
^
程序没有任何问题,两个程序的头部都有 package test;
奇怪的是,把两个程序的package test; 注释掉,可以编译通过,但运行该servlet时,tomcat会报错:
Cannot allocate servlet instance for path /servlet/test.SQLGatewayServlet


该程序来自网上一个例子
http://tech.ccidnet.com/pub/article/c1112_a59132_p1.html

请教,该如何能使其正常编译通过并运行呢?
...全文
55 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
kevinliuu 2004-04-09
  • 打赏
  • 举报
回复
再次谢谢 CoolAbu(阿卜-Never Stop(★★★★))

结贴了 :)
CoolAbu 2004-04-09
  • 打赏
  • 举报
回复
因为你编译的第一个class还没有在 Classpath中,也就是说编译第二个的时候还不能找到这个类,你把它们放一块编译就可以找到了。
在岩 2004-04-09
  • 打赏
  • 举报
回复
偶以前好象遇到过相似的情况。

偶把两个类放在一个.java文件中编译,两个类都是public,编译通过不了,然后偶试着其中一个类的public去掉,编译通过,然后生成两个.class.
kevinliuu 2004-04-09
  • 打赏
  • 举报
回复
to CoolAbu(阿卜-Never Stop(★★★★)) :

谢谢你的方法,可以编译通过了!!

可是能解释一下为什么么? 两个文件头部都有 package test; 可servlet文件就是无法在当前目录找SQLUtil类呢?
baointoo1980 2004-04-09
  • 打赏
  • 举报
回复
会不会是忘了配置web.xml文件了!
CoolAbu 2004-04-09
  • 打赏
  • 举报
回复
你在CMd下进入classes\test文件夹,然后敲
javac SQLUtil.java SQLGatewayServlet.java

你这样试试。如果他们不在同一个包中,你还要在SQLGatewayServlet中引入SQLUtil类

81,090

社区成员

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

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