问题:我运行带有javabean的jsp时出现异常,
HTTP Status 500 - 
org.apache.jasper.JasperException: /WebRoot/javaBeanJSP.jsp (line: 5, column: 0) The value for the useBean class attribute bean.Box is invalid.
我完全按下面步骤做;tomcat7.0也打开了,运行其他jsp正常求助:帮忙找出我的问题所在,万分感谢,热心的好人除了可以在这里指出我的问题,最好有人肯远程帮我看看一、在MyEclipse新建一个Web Project工程,并在其子目录下src创建一个文件夹并且我自已命名为bean(其实这就是一个包,用来存放java文件),在WebRoot\WEB-INF\classes目录中也要建这个一样的文件夹,同样也是命名为bean(这也是一个包,用来存放等一下java生成的字节码class文件)。
 
二、在Web Project工程创建一个java文件,命名为Box(MyEclipse默认将其创建在该工程的src的目录下,如果你建好了第一个步骤中的bean文件夹,就把Box.java文件指定在bean文件夹中,这一点很重要,要不然在写Box.java文件中引入"package bean"时会出错)。 package bean;
public class Box
{
    double length;
    double width;
    double height;
    public Box()
    {
       length=0;
       width=0;
       height=0;
    }
    public void setLength(double length)
    {
       this.length=length;
    }
    public double getLength()
    {
       return length;
    }
    public void setWidth(double width)
    {
    this.width=width;
    }
    public double getWidth()
    {
       return width;
    }
    public void setHeight(double height)
    {
      this.height=height;
    }
    public double getHeight()
    {
       return height;
    }
    public double volumn()
    {
       double volumnValue;
       volumnValue=length*width*height;
       return volumnValue; 
    }
    public double surfaceArea()
    {
       double surfaceAreaValue;
       surfaceAreaValue=length*width*2+length*height*2+height*width*2;
       return surfaceAreaValue;
    }

    保存后(它会自动编译),MyEclipse会在该工程中的WebRoot\WEB-INF\classes\bean生成Box.java的字节码文件Box.class。
 
三、在Web Project工程创建一个jsp文件,命名为javaBeanJSP.jsp(用于测试),输入以下代码: 
 <%@ page contentType="text/html;charset=gb2312"%> 
 <%@ page import="bean.Box" %> 
 <html>
<body>
<jsp:useBean id="box" class="bean.Box" scope="page" >
</jsp:useBean>    
    <%
      box.setHeight(12);
      box.setWidth(11);
      box.setLength(10);
      out.println("在JSP中使用JavaBean<br>");
      out.println("盒子的长度为: "+box.getLength()+"<br>");
      out.println("盒子的宽度为: "+box.getWidth()+"<br>");
      out.println("盒子的高度为: "+box.getHeight()+"<br>");
      out.println("盒子的容积为: "+box.volumn()+"<br>");
      out.println("盒子的表面积为: "+box.surfaceArea()+"<br>");
    %>
</body>
</html>
JSPjavabeanWebJavaBean

解决方案 »

  1.   

    <jsp:useBean id="box" class="bean.Box" scope="page" >
    </jsp:useBean>  
    换成:
    <jsp:useBean id="box" class="bean.Box" scope="page" />
    试试!
      

  2.   

    楼主的代码在eclipse 下,正常啊!
    输出:
    在JSP中使用JavaBean
    盒子的长度为: 10.0
    盒子的宽度为: 11.0
    盒子的高度为: 12.0
    盒子的容积为: 1320.0
    盒子的表面积为: 724.0
      

  3.   

    2L什么时候有时间帮我远程看看吧,我这个弄了好久了都这样,什么环境变量全弄了还这样,可以加我qq:31745892,非常感谢!
      

  4.   

    可能原因 
    1   "在WebRoot\WEB-INF\classes目录中也要建这个一样的文件夹,同样也是命名为bean(这也是一个包,用来存放等一下java生成的字节码class文件)。"     楼主不要自己建这个文件夹,把它删除掉。
    2   jsp文件不要这句:<%@ page import="bean.Box" %> 
    楼主试试看。
      

  5.   

    我没用过 myeclipse, 所以无法帮助你!
    你在网上搜一下,看是否有别人遇到过这样的问题。
      

  6.   

    http://blog.sina.com.cn/s/blog_4bbf43e801008mz7.html
      

  7.   

        比如有个文件包,是A,目录是d:\A\中,A 包中有A.java(文件开头 package A;)然后在D:\根目录下面有个无名包,是B.java,那么如何在文件A里面引入B文件的类呢??要求B不能给package包