Myeclipse7.5+tomcat6.0+JDK1.6.0 然后JSP代码是:
<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="test.*"%>
<html>
  
  <body>
   <jsp:useBean id="lady"  class="test.Lader"  scope="page"></jsp:useBean>
   <%
   lady.setDi(200);
   lady.setGao(300); %>
  长方形的高是:<%=lady.getGao() %>
  长方形的底是:<%=lady.getDi() %>
  长方形的面积是:<%=lady.getMianji() %>  
     <br>
  </body>
</html>
然后错误是:org.apache.jasper.JasperException: /WebRoot/compute.jsp(6,4) The value for the useBean class attribute test.Lader is invalid.
 org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
 org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
 org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
 org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
 org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
 org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
 org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
 org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
 org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
 org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
 org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
 org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
 org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
 org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
 org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
 org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
 org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
 javax.servlet.http.HttpServlet.service(HttpServlet.java:717)我的Lader.class放在WEB-INF/classes/test下,请问是哪里出错了,应该怎么改,谢谢!环境变量配置如下:JAVA_HOME:D:\program files\Java\jdk1.6.0_10   CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JDBC_HOME%\sqljdbc.jar;D:\program files\Tomcat 6.0\lib\servlet-api  path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 我初学,还望高手指点

解决方案 »

  1.   

    先把tomcat下面的\work\Catalina\localhost目录删除,然后检查你的compute.jsp(6,4)代码,测试代买没问题后,看你jsp:ussbean中的class="test.Lader",问题应该处在test.lader,他找不到你的test.lader。
      

  2.   

    还是没办法呀!我把JAVA文件发过来吧:
    package test;public class Lader {
    int di,gao,mianji;
    public Lader() {


    mianji=di*gao;

    }
    public void setDi(int di){
    this.di=di;
    }
    public int getDi(){
    return di;
    }
    public void setGao(int gao){
    this.gao=gao;
    }
    public int getGao(){
    return gao;
    }
    public int getMianji(){
    mianji=di*gao;
    return mianji;
    }}
      

  3.   

    <jsp:useBean class="test.Lader" id="test"/>
    <jsp:setProperty name="test" property="di" value="33"/>
    <jsp:getProperty name="test" property="di" />
      

  4.   

    <%@ page language="java" contentType="text/html" import="java.util.*" chinese wholesalers="gb2312"%>
    <%@ page import="test.*"%>
    <html> 
      

  5.   

    得让jvm能找到test.Lader 这个东西啊....
      

  6.   


    public Lader() {
    mianji=di*gao;} 
    里面的mianji=di*gao; 去掉。new的时候拿两个null在乘再赋值给第3个null,
      

  7.   

    我觉得六楼大哥说得有理!因为我不只是这一个JAVABEAN有问题!我还用其他的例子试过,都是这个情况,就是找不到那个类文件,那有谁知道该怎么办吗?补充一点:我在编写JSP那个文件时,MYECLIPSE没有报错,它识别到了BEAN文件的。
      

  8.   

    7楼的方法也不行呀 的确不知道为什么 是不是哪里配置问题 但是问题是其他单独JSP能运行,我改了个如下:
    <%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="gb2312"%><html>
      
      <body>
       <%!
       public class Lader {
    int di,gao,mianji;
    public Lader() {
    }
    public void setDi(int di){
    this.di=di;
    }
    public int getDi(){
    return di;
    }
    public void setGao(int gao){
    this.gao=gao;
    }
    public int getGao(){
    return gao;
    }
    public int getMianji(){
    mianji=di*gao;
    return mianji;
    }}  %>
       <%
       Lader lady=new Lader();
       lady.setDi(200);
       lady.setGao(300); %>
      长方形的高是:<%=lady.getGao() %>
      长方形的底是:<%=lady.getDi() %>
      长方形的面积是:<%=lady.getMianji() %>  
         <br>
      </body>
    </html>
    这个就完全能运行,这是怎么回事呢?
      

  9.   


    你的public里面不是也把gao*di去了吗?