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 reportmessage 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)

解决方案 »

  1.   

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

  2.   

    把编译后的MyBean.class拷贝到:ROOT/WEB-INF/classes/MyBean应该是这样拷贝后的目录:ROOT/WEB-INF/classes/mybean/MyBean.class
      

  3.   

    你root/web-inf下的包名不对,应该是mybean,而不是MyBean,
    正确的目录应该是root/web-inf/mybean,你编译好的MyBean.class文件,应该拷到这个目录下。
      

  4.   

    包名就是你类文件(.clss)的存放路径,大小写要一致
      

  5.   

    包名改了,还是这样。
    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 reportmessage 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)
      

  6.   

    重新检查一下ROOT/WEB-INF/classes/mybean/MyBean.class这个路径!你说 "把编译后的MyBean.class拷贝到:ROOT/WEB-INF/classes/mybean".MyBean.class这个类是你用工具编译出来的还是用javac 和 java命令编译出来的?
      

  7.   

    JCREATE 是JCreator吧这个会自动生成包结构的把包一起拷到classes下面就ok阿