我的配置:MyEclipse 7.0M1
          tomcat 6.0已经知道是  jasper-compiler.jar的问题(我的Eclipse是3.3版的,从里面拷贝jasper-compiler.jar出来也不知道该放在tomcat或是MyEclipse中的哪个文件夹下面),请高手发一个给我,并且告诉我该怎样放置才能使JavaBean运行成功,thanks!org.apache.jasper.JasperException: /WebRoot/MyJsp.jsp(11,0) The value for the useBean class attribute sale.goodsbean 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:1200)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1155)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2386)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2392)
org.apache.jasper.compiler.Node$Root.accept(Node.java:489)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2336)
org.apache.jasper.compiler.Generator.generate(Generator.java:3394)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:210)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:306)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:286)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:273)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:566)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
note The full stack trace of the root cause is available in the Apache Tomcat/6.0.10 logs.

解决方案 »

  1.   

    MyJsp.jsp  :
    <%@ page contentType="text/html;charset=GB2312"%> 
    <%//request.setCharacterEncoding("iso_8859_1");%>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>goods bean</title>
    </head><body><jsp:useBean id="goodsbean1" scope="session" class="sale.goodsbean" />
    <%
    goodsbean1.setProduct("clock");
    goodsbean1.setPrice(17);
    %>
    使用方法1:
    产品:<%= goodsbean1.getProduct()%><br>
    税率:<%= goodsbean1.getPrice()%><%goodsbean1.setProduct("chair");
    goodsbean1.setPrice(3);
    %>
    <br>使用方法2:
    产品:<jsp:getProperty name="goodsbean1" property = "Product" />
    <br>
    税率:<jsp:getProperty name="goodsbean1" property = "Price" /></body>
    </html>sale包下的 goodsbean.java :
    package sale;public class goodsbean {
    String Product;
    double Price; public goodsbean() {
    this.Product = "box";
    this.Price = 5.0;
    } public void setProduct(String ProductName) {
    this.Product = ProductName;
    } public String getProduct() {
    return (this.Product);
    } public void setPrice(double priceValue) {
    this.Price = priceValue;
    } public double getPrice() {
    return (this.Price);
    }
    }
      

  2.   

    代码是网上找的测试代码自己写的数据库调用代码可以运行
    代码如下;
    DBconnect.java:
    package db;import java.sql.*;public class DBconnect {
    // 驱动程序名
    String driverName = "com.mysql.jdbc.Driver";
    // 数据库用户名
    String userName = "root";
    // 密码
    String userPasswd = "666666";
    // 数据库名
    String dbName = "worklog";
    // 表名
    String tableName = "user";
    // 联结字符串
    String url = "jdbc:mysql://localhost/" + dbName + "?user=" + userName
    + "&password=" + userPasswd; public void get() {
    try {
    Class.forName(driverName).newInstance();
    Connection connection = DriverManager.getConnection(url);
    Statement stmt = connection.createStatement();
    ResultSet rs = null;
    String strsql = "select * from user where u_name like '" + "qwe"
    + "' and u_password like '" + "123" + "'";
    rs = stmt.executeQuery(strsql);
    if (rs.next()) {
    System.out.println(rs.getString(1));
    System.out.println(rs.getString(2));
    System.out.println(rs.getString("u_name"));
    System.out.println(rs.getString("u_name"));
    System.out.println("登录成功!");
    } else {
    System.out.println("输入错误,请返回登录页面重新登录。");
    }
    rs.close();
    stmt.close();
    connection.close();
    } catch (Exception e) {
    System.out.print(e);
    }
    }
    }DBtest.javapackage db;public class DBtest { public static void main(String[] args) {
    DBconnect db = new DBconnect();
    db.get();
    }}运行结果:
    132
    qwe
    qwe
    qwe
    登录成功!
      

  3.   

    你的jsp没有找到class文件。
    不知道你是怎么eclipse和tomcat是配置的,
    总而言之:在你程序发布的时候,目录结构是这样的项目名/jsp文件
          /WEB-INF/classes/JAVA编译好的class文件
          /WEB-INF/lib/jar包
          /WEB-INF/web.xml
    你的目的是让eclipse编译之后自动把class文件放到WEB-INF/classes下,就可以运行了!
      

  4.   

    在eclipse里,右键你的工程,选java build path,在source页的最底下有个default output folder栏,在里面添上"/项目名/jsp最外面的文件名/WEB-INF/classes" 就能让eclipse自动把class文件放到WEB-INF/classes下
      

  5.   

    配置是按照你说的,不过还是不能运行,刚刚差了点资料:
        
        《《今天有点需求,需要用jasper-runtime.jar包。但是我在我的\apache-tomcat-6.0.16\lib目录下,怎么也找不到这个jar包。结果上网百度了一下。Tomcat6.0之前的版本以Tomcat5.5.20 压缩版为例,这个jasper-runtime.jar在Tomcat5.5.20\common\lib下就自带有的。但是在Tomcat6.0版本后lib包的位置调整了,现在只有lib在跟目录下。jasper-runtime.jar和jasper-compiler-jdt.jar、jasper-compiler.jar等都集成到jasper.jar包中去了。》》我觉得可能是tomcat和MyEclipse兼容问题,之前写的不用JavaBean的Web Object都可以用IE进行浏览等操作,我打算把tomcat6.0卸了。装5.0试试不过还是谢谢你了
      

  6.   

    异常原因:pojo 有问题(残缺),另外你的编码格式很成问题。类名大写,属性名小写等都不按照规范来。越是规范,越是会少出问题。没仔细看。估计是单词拼写或者是规范性的问题。
      

  7.   

    不知道楼主是什么意思
    你下一个MyEclipse 不是直接装上就可以用了吗
      

  8.   

    你的jsp没有找到class文件,如果没有javabean当然可以正常浏览了!在eclipse里,右键你的工程,选java build path,在source页的最底下有个default output folder栏,在里面添上"/项目名/jsp最外面的文件名/WEB-INF/classes" 就能让eclipse自动把class文件放到WEB-INF/classes下你到上面写的这里去看看!!!
      

  9.   

    先把普通的不用jasper-runtime.jar的弄出来,让它可以调javabean,并显示出来!