高分请教简单的JSP调用JAVABEAN的初级问题!

dxhh99 2006-03-22 06:55:49

MyBean.java内容--------------------------------------------------------------------

package mybean;
public class MyBean
{
private String str;
private int num;
public MyBean()
{
str="你好";
num=0;
}
public void setvalue(String avalue)
{
str= avalue;
}
public String getvalue()
{
return str;
}
public void setnumber(int number)
{
num=number;
}
public int gernumber()
{
return num;
}


}

下面是test.jsp的内容-------------------------------------------------------------
<jsp:useBean id="mybean1" scope="page" class="mybean.MyBean" />
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>New Page 1</title>
</head>

<body>

</body>

</html>


--------------------------------------------------------------------------------
把编译后的MyBean.class拷贝到:ROOT/WEB-INF/classes/MyBean

错误信息:------------------------------------------------------------------------
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: MyBean/MyBean (wrong name: MyBean)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NoClassDefFoundError: MyBean/MyBean (wrong name: MyBean)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
...全文
180 9 打赏 收藏 举报
写回复
9 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
interpb 2006-03-22
JCREATE 是JCreator吧

这个会自动生成包结构的

把包一起拷到classes下面就ok阿
  • 打赏
  • 举报
回复
dxhh99 2006-03-22
我是用JCREATE编译出来的。
  • 打赏
  • 举报
回复
chw8219 2006-03-22
重新检查一下ROOT/WEB-INF/classes/mybean/MyBean.class这个路径!

你说 "把编译后的MyBean.class拷贝到:ROOT/WEB-INF/classes/mybean".

MyBean.class这个类是你用工具编译出来的还是用javac 和 java命令编译出来的?

  • 打赏
  • 举报
回复
dxgxk 2006-03-22
包名改了,还是这样。
MyBean.java-----------
package mybean;
public class MyBean
{
private String str;
private int num;
public MyBean()
{
str="你好";
num=0;
}
public void setvalue(String avalue)
{
str= avalue;
}
public String getvalue()
{
return str;
}
public void setnumber(int number)
{
num=number;
}
public int gernumber()
{
return num;
}

}

test.jsp-------------------
<%@ page contentType="text/html; charset=gb2312" import="mybean" %>
<jsp:useBean id="mybean1" scope="request" class="mybean.MyBean" />
<html>

<head>
<title>New Page 1</title>
</head>

<body>

</body>

</html>


class 文件--------
拷贝后的目录:ROOT/WEB-INF/classes/mybean/MyBean.class


错误信息-----------------------
type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

javax.servlet.ServletException: mybean/MyBean (wrong name: MyBean)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:244)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)


root cause

java.lang.NoClassDefFoundError: mybean/MyBean (wrong name: MyBean)
java.lang.ClassLoader.defineClass1(Native Method)
java.lang.ClassLoader.defineClass(ClassLoader.java:620)
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:1634)

  • 打赏
  • 举报
回复
ywb1973 2006-03-22
包名就是你类文件(.clss)的存放路径,大小写要一致
  • 打赏
  • 举报
回复
sssss342072 2006-03-22
留个记号
  • 打赏
  • 举报
回复
wen37 2006-03-22
你root/web-inf下的包名不对,应该是mybean,而不是MyBean,
正确的目录应该是root/web-inf/mybean,你编译好的MyBean.class文件,应该拷到这个目录下。
  • 打赏
  • 举报
回复
interpb 2006-03-22
把编译后的MyBean.class拷贝到:ROOT/WEB-INF/classes/MyBean

应该是这样

拷贝后的目录:ROOT/WEB-INF/classes/mybean/MyBean.class
  • 打赏
  • 举报
回复
wsk_228 2006-03-22
java.lang.NoClassDefFoundError: MyBean/MyBean (wrong name: MyBean)

从你的代码看是没有错的。但报这是说你的名称不对,是你ROOT/WEB-INF/classes/MyBean错误了。应该mybean是小写的,classes下的目录是包名称,也就是package mybean ,如果copy过去最好是连包名一起。写的时候特别注意大小写一致。

  • 打赏
  • 举报
回复
发帖
Web 开发

8.0w+

社区成员

Java Web 开发
社区管理员
  • Web 开发社区
加入社区
帖子事件
创建了帖子
2006-03-22 06:55
社区公告
暂无公告