出错异常:
description The server encountered an internal error () that prevented it from fulfilling this request.exception javax.servlet.ServletException: Class not found when loading object from file : D:\工具\jakarta-tomcat-5.0.28\jakarta-tomcat-5.0.28\webapps\WebRoot\page.jasper
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
root cause dori.jasper.engine.JRException: Class not found when loading object from file : D:\工具\jakarta-tomcat-5.0.28\jakarta-tomcat-5.0.28\webapps\WebRoot\page.jasper
dori.jasper.engine.util.JRLoader.loadObject(JRLoader.java:137)
dori.jasper.engine.JasperFillManager.fillReport(JasperFillManager.java:160)
dori.jasper.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:168)
org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:71)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
note The full stack trace of the root cause is available in the Apache Tomcat/5.0.28 logs

解决方案 »

  1.   

    我在控制台用
    String a=reportFile.getPath();
    System.out.println("url:"+a);
    物理路事是正确的怎么却找到不到文件啊?
      

  2.   

    首先,看page.jasper的路径放的对吗?
    其次,TOMCAT的字符集是ISO8859-1,在传值后要进行转换。
      

  3.   

    换了个jasperreports-0.6.5.jar就没问题了,但又出现了新问题
    exception javax.servlet.ServletException: org/eclipse/jdt/internal/compiler/env/INameEnvironment
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:92)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/env/INameEnvironment
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Class.java:1576)
    java.lang.Class.getConstructor0(Class.java:1748)
    java.lang.Class.newInstance0(Class.java:266)
    java.lang.Class.newInstance(Class.java:249)
    net.sf.jasperreports.engine.design.JRDefaultCompiler.loadCalculator(JRDefaultCompiler.java:192)
    net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:370)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:126)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:118)
    net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:111)
    net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:291)
    net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:207)
    net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:168)
    org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:72)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  4.   

    相对应我把包的引入也改了但怎么还时出错啊?
    <%@ page contentType="text/html;charset=GB2312"%>
    <%@ page import="net.sf.jasperreports.engine.*" %>
    <%@ page import="net.sf.jasperreports.engine.util.*" %>
    <%@ page import="net.sf.jasperreports.engine.export.*" %>
    <%@ page import="java.util.*" %>
    <%@ page import="java.io.*" %>
    <%@ page import="java.sql.*" %>
    <%
    //报表编译之后生成的.jasper 文件的存放位置
    File reportFile = new File(application.getRealPath("page.jasper"));
    //这个是用来联接我的mysql 的JDBC URL
    String url="jdbc:mysql://localhost/zhangbo";
    Class.forName("org.gjt.mm.mysql.Driver").newInstance();
    //传递报表中用到的参数值
    Map parameters = new HashMap();
    //"Name"是报表中定义过的一个参数名称,其类型为String 型
    parameters.put("name","zhangbo");
    System.out.println("---------conn yym-------------");
    //连接到数据库
      Connection conn = DriverManager.getConnection(url,"root","");
    System.out.println("---------Jasper begin-------------");
    //在控制台显示一下报表文件的物理路径
    System.out.println(reportFile.getPath());
    try{
    byte[] bytes=JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,conn);
    //byte[] bytes=JasperRunManager.runReportToHtmlFile(reportFile.getPath(),parameters,conn);
    }
    catch(Exception e){
    e.printStackTrace();
    }
    //System.out.println("---------Jasper end-------------");
    /*response.setContentType("application/pdf");
    response.setContentLength(bytes.length);
    ServletOutputStream ouputStream = response.getOutputStream();
    ouputStream.write(bytes, 0, bytes.length);
    ouputStream.flush();
    ouputStream.close();*/
    %>
      

  5.   

    上面的问题自己也解决了
    org.apache.jasper.JasperException: Unable to compile class for JSPAn error occurred at line: 10 in the jsp file: /MyJsp.jsp
    Generated servlet error:
    D:\java\jakarta-tomcat\work\Catalina\localhost\WebRoot\org\apache\jsp\MyJsp_jsp.java:87: cannot resolve symbol
    symbol  : variable bytes  
    location: class org.apache.jsp.MyJsp_jsp
    ouputStream.write(bytes,0,bytes.length);
                      ^
    An error occurred at line: 10 in the jsp file: /MyJsp.jsp
    Generated servlet error:
    D:\java\jakarta-tomcat\work\Catalina\localhost\WebRoot\org\apache\jsp\MyJsp_jsp.java:87: cannot resolve symbol
    symbol  : variable bytes  
    location: class org.apache.jsp.MyJsp_jsp
    ouputStream.write(bytes,0,bytes.length);但用ouputStream.write(bytes, 0, bytes.length);就抱错了是什么原因啊?
      

  6.   

    谁遇到过这个问题
    javax.servlet.ServletException: org/eclipse/jdt/internal/compiler/env/INameEnvironment请大家帮忙解答?
    谢谢!
    [email protected]
      

  7.   

    将junitruntime.jar(在eclipse\plugins\org.eclipse.jdt.junit.runtime_3.0.2目录中)
    加入classpath中即可.
      

  8.   

    我也想楼主,如何解决这个问题~~ 万分感谢!!!!
    javax.servlet.ServletException: org/eclipse/jdt/internal/compiler/env/INameEnvironment
    org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:825)
    org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:758)
    org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:92)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    root cause java.lang.NoClassDefFoundError: org/eclipse/jdt/internal/compiler/env/INameEnvironment
    java.lang.Class.getDeclaredConstructors0(Native Method)
    java.lang.Class.privateGetDeclaredConstructors(Class.java:1576)
    java.lang.Class.getConstructor0(Class.java:1748)
    java.lang.Class.newInstance0(Class.java:266)
    java.lang.Class.newInstance(Class.java:249)
    net.sf.jasperreports.engine.design.JRDefaultCompiler.loadCalculator(JRDefaultCompiler.java:192)
    net.sf.jasperreports.engine.fill.JRBaseFiller.<init>(JRBaseFiller.java:370)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:126)
    net.sf.jasperreports.engine.fill.JRVerticalFiller.<init>(JRVerticalFiller.java:118)
    net.sf.jasperreports.engine.fill.JRFiller.fillReport(JRFiller.java:111)
    net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:291)
    net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:207)
    net.sf.jasperreports.engine.JasperRunManager.runReportToPdf(JasperRunManager.java:168)
    org.apache.jsp.MyJsp_jsp._jspService(MyJsp_jsp.java:72)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  9.   

    大家可以用weblogic试试
    编译没有问题
    可是在运行时出现了新问题
    JSP页面中出现乱码 JSP中引用<%@ page contentType="text/html;charset=GB2312"%>运行
    -----------------------------------------------------%PDF-1.4 %&#10447;&#1226;4 0 obj <> stream x&#156;e&#142;1 &#144; &#132;&#57264;&#56987;&#47117;&#1159;&#1783;&laquo;蘟&Nj B&#151;.&#57013;&#56554;Z&#144;@r&#605;&#5340;&copy;I$`+&#64848;¤&#145;6;&#129;&#152;&#43611;&yen;&micro;&#712;&#16026;&#42349;?bL<鼱&#57050;&#56384;%&#138;&micro;*&brvbar;;5&iquest;&#156;&#155;\嵄pY&ordm;&#2003;cX&#146;&#809;&#152;&#135;&#579830;&#809;x&para;&#53974;&micro;§&Ouml;&#1662;§&#535;&#2035;, endstream endobj 1 0 obj <> >> /MediaBox [0 0 595 842] >> endobj 6 0 obj [1 0 R /XYZ 0 854 0] endobj 3 0 obj <> /Widths [600 600 0 0 0 600 0 0 0 0 0 0 0 0 600 600] >> endobj 2 0 obj <> endobj 5 0 obj <> endobj 7 0 obj <> endobj 8 0 obj <> endobj 9 0 obj <> endobj 10 0 obj <> endobj xref 0 11 0000000000 65535 f 0000000226 00000 n 0000000657 00000 n 0000000441 00000 n 0000000015 00000 n 0000000753 00000 n 0000000405 00000 n 0000000809 00000 n 0000000865 00000 n 0000000898 00000 n 0000000959 00000 n trailer <<7a5006b4275b6895110deb4b20790ce3>] /Root 9 0 R /Size 11 /Info 10 0 R >> startxref 1104 %%EOF 
    -----------------------------------------------------大伙谁遇到此问题我们探讨一下
    [email protected]
      

  10.   

    我也遇到这个问题,我的QQ是27553331,email:
    [email protected]