调用javaBean时出现如下错误是何意思

my3b 2003-08-23 08:24:12
我写了一个javaBean,并已成功的将之编译,运行java 类名也成功显示,但在调用时却出现如下错误,javaBean源文件如下:
<html>
<head>
<title>JavaBean 试验</title>
</head>
<body>
<jsp:useBean id="helloBean" scope="session" class="jsp.HelloWorld" />
<%= helloBean.getHi() %>
<hr>
<%
helloBean.name = "JSP";
out.print(helloBean.getHi());
%>
</body>
</html>
最常见的代码,但运行时提示第6行有错误,哪位给指点一下这第6行哪里错误呢?我初学,看不出哪里有错,请大家给指点一下好吗?
...全文
33 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcjl 2003-08-23
  • 打赏
  • 举报
回复
我的机子中了病毒,我得专心处理一下
另:好像你的显示结果不正确,不过还是先检查一下你的bean文件吧
顺便恭喜你调试成功
my3b 2003-08-23
  • 打赏
  • 举报
回复
运行是显示如下文字的,好象不对:
Hello from JSP
--------------------------------------------------------------------------------
Hello from JSP
显示这个对吗?
my3b 2003-08-23
  • 打赏
  • 举报
回复
我按照zcjl的方法编译了HelloWorld.class并放在\WEB-INF\classes\jsp\下,运行jsp文件,ok,成功了,多谢zcjl的指教,谢谢。

但有一点让人晕倒,显示这个网页硬盘足足狂转了四分钟,读盘读得快发疯了,头都听大了,怎么会这么慢,你那儿也一样的吗?虽说第一次都慢一点,但也不会是这样慢吧,人都快晕过去了,就同死机了一样,不明白,能再指点其中缘由吗?
zcjl 2003-08-23
  • 打赏
  • 举报
回复
zcjl,如何你方便的话,在本机上测试一下如何?在你那儿能不能通过,如果再不能通过,我觉得可能是代码的问题了。


我肯定先试过了的啊
完全正确
zcjl 2003-08-23
  • 打赏
  • 举报
回复
另外给你附加一个可以用java指令运行的HelloWorld

//HelloWorld.java

package jsp;

public class HelloWorld {
public static void main(String[] args) {
System.out.println("HelloWorld");
}
}

把编译后的class放到已被设为classpath的文件夹中
如D:\MyJava\jsp\下(jsp为packageName)
输入java jsp.HelloWorld
看结果去吧
呵呵
zcjl 2003-08-23
  • 打赏
  • 举报
回复
正确的答案是:

//test.jsp
<html>
<head>
<title>JavaBean 试验</title>
</head>
<body>
<jsp:useBean id="helloBean" scope="session" class="jsp.HelloWorld" />
<%= helloBean.getHi() %>
<hr>
<%
helloBean.name = "JSP";
out.print(helloBean.getHi());
%>
</body>
</html>

//HelloWorld.java

package jsp;

public class HelloWorld {
public String name = "My first bean";
public String getHi()
{
return "Hello from " + name;
}
}

把HelloWorld.java编译后的class放到\WEB-INF\classes\jsp\下
启动tomcat
在浏览器中输入你的jsp所在的地址(千万别说这个你也不清楚哈)
然后就看结果了
my3b 2003-08-23
  • 打赏
  • 举报
回复
zcjl,如何你方便的话,在本机上测试一下如何?在你那儿能不能通过,如果再不能通过,我觉得可能是代码的问题了。
my3b 2003-08-23
  • 打赏
  • 举报
回复
你的错误是没有定义main方法,是的,这个代码中并没有定义main方法,而我另外那个javaBean源文件就定义了mani方法,所以我怀疑代码有错,这代码并不是我写的,而是我从网上看到照抄测试的,正确的答案是什么?
zcjl 2003-08-23
  • 打赏
  • 举报
回复
建议你把我的回复通看一遍
因为我对你的错误不了解,所以很多是猜错了的
不过所有的加起来,也应该能解决你的问题了
不用我再总结一遍了吧?
:)

如果再有问题,欢迎你来问
反正我也就知道这么点初级知识:(
my3b 2003-08-23
  • 打赏
  • 举报
回复
理解完全正确

你的jsp之所以会出错,是因为你在bean中些类名写成了HelloWorldd(多了个d,看到了吗?)
我说明一下,我写的并没错,因为我在j2sdk1.4.2目录下有一个HelloWorld.class,代码和这个不一样的,但那个没用package jsp;语句,那个运行完全正常,我只是将这个改了一下(即后面加了一个d),生成的类也叫HelloWorldd.class。

另:我觉得在classpath中加入C;\j2sdk1.4.2\lib\mm.mysql-2.0.4-bin好像没有意义(个人意见哈,也许是我自己没发现其中的奥妙,这是JDBC驱动程序的路径,必须要加上,否则无法连接数据库。

我运行java jsp.HelloWorldd也没用,还是一样的错误,大家再给指点一下如何?
zcjl 2003-08-23
  • 打赏
  • 举报
回复
麻烦你回上去看看我给你的另一段回复
ok?自己的帖子可要看仔细嘛^_^
你的错误是没有定义main方法
zcjl 2003-08-23
  • 打赏
  • 举报
回复
另,用jsp调用你的class也得放到packageName目录下啊
比如\WEB-INF\classes\jsp\下
my3b 2003-08-23
  • 打赏
  • 举报
回复
输入java HelloWorld就出现如下错误:
C:\j2sdk1.4.2>java HelloWorldd
Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldd
还是不行,class文件都生成了,看来是路径的问题,怎么做才正确呀!
zcjl 2003-08-23
  • 打赏
  • 举报
回复
理解完全正确

你的jsp之所以会出错,是因为你在bean中些类名写成了HelloWorldd(多了个d,看到了吗?)

另:我觉得在classpath中加入C;\j2sdk1.4.2\lib\mm.mysql-2.0.4-bin好像没有意义(个人意见哈,也许是我自己没发现其中的奥妙)

还有就是,如果是初学者的话,建议还是将自己写的class和第三方提供的class分开来,这样自己查错方便,以后要积累经验的话,这可是你的宝库啊
my3b 2003-08-23
  • 打赏
  • 举报
回复
我是将HelloWorld.java和HelloWorld.class都放在虚拟目录----->WEB-INF文件夹---->classes文件夹下面了,但运行时还是错误。
my3b 2003-08-23
  • 打赏
  • 举报
回复
zcjl说要通过jsp调用才行,但我在提问中已写出了调用的代码,但运行时提示第六行错误,我不明白哪里出错,大家在本机运行一下好吗?代码已经全部写出来了,方便的话在本机测试一下如何。

另外,zcjl所写的classpath路径和我的设置基本一样,我是这样设置的:
.;C:\j2sdk1.4.2\lib\tools.jar;C;\j2sdk1.4.2\lib\dt.jar;C;\j2sdk1.4.2\lib\mm.mysql-2.0.4-bin;
但D;\MyJava这个没写,我没定义放置类的目录,因为现在暂时没打算将全部的类都放在一块,所以就没写。

如果class中定义了package(例如bean调用都要用package的--tomcat下)
则把class放到D:\MyJava\packageName\下,这句话的意思对照我的情况是不是我应该在D:\MyJava\下建立jsp目录,我的理解对不对呢?

zcjl 2003-08-23
  • 打赏
  • 举报
回复
哇,楼主跑到哪里去了?
怎么就我们两人说来说去的
^_^
gisgeoboy 2003-08-23
  • 打赏
  • 举报
回复
class HelloWorldd 只需编译就行了,它会生成HelloWorldd.class文件,然后将此文件放到classes文件夹下的包下面.
gisgeoboy 2003-08-23
  • 打赏
  • 举报
回复
一般放在虚拟目录----->WEB-INF文件夹---->classes文件夹下面
zcjl 2003-08-23
  • 打赏
  • 举报
回复
我看到过你的那段程序,还是一位网友的问题
:)
不过那个叫HelloWorld的Bean(哦,你写成了HelloWorldd)因为没有定义main方法
所以不能用直接java指令运行
得通过jsp调用才行
加载更多回复(6)

81,092

社区成员

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

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