首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java相关 >

java程序独自运行正确,用jsp调用就出错

2013-10-01 
java程序单独运行正确,用jsp调用就出错本人编写了一段java类程序,功能是将html网页保存为pdf格式,这个java

java程序单独运行正确,用jsp调用就出错
本人编写了一段java类程序,功能是将html网页保存为pdf格式,这个java类单独运行结果是正确的。但是如果把这段代码加入jsp中,让jsp页面调用,结果就出错,请各位大侠帮忙看一下。。。谢谢啦
JSP代码为:
<%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1"%>
<%@ page import="format.conversion.HtmlToPdf" %>

<%
String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <base href="<%=basePath%>">
    
    <title>My JSP 'index.jsp' starting page</title>
<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">    
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<!--
<link rel="stylesheet" type="text/css" href="styles.css">
-->
  </head>
  
  <body>
    This is my JSP page. <br>
  </body>
  <%
  HtmlToPdf htp=new HtmlToPdf();
  htp.go(); 
   %>
</html>

java类代码为:
package format.conversion;

import java.io.File; 
import java.io.FileOutputStream; 
import java.io.OutputStream; 

import javax.swing.JFileChooser;
import javax.swing.filechooser.FileFilter;



import org.xhtmlrenderer.pdf.ITextFontResolver; 
import org.xhtmlrenderer.pdf.ITextRenderer; 

import com.lowagie.text.pdf.BaseFont; 

public class HtmlToPdf {     
        public static void main(String[] args){     
        try{
        HtmlToPdf tt=new HtmlToPdf();
            tt.go();
            System.out.println("pdf保存成功");
        }catch(Exception ex){
        System.out.println("pdf保存失败");
        ex.printStackTrace();
        }
        System.exit(0);
        
        } 
        
        public void go()throws Exception{
        String inputFile = "WebRoot/Report.html";     
            String url = new File(inputFile).toURI().toURL().toString(); 
            
            JFileChooser fileSave=new JFileChooser(".");
            fileSave.showSaveDialog(null);
            File file=fileSave.getSelectedFile();
            
            String outputFile =file.toString();
            String url1=new File(outputFile).toURI().toURL().toString();
            System.out.println(url); 
            System.out.println(url1);
            OutputStream os = new FileOutputStream(outputFile);     
            ITextRenderer renderer = new ITextRenderer();     
            renderer.setDocument(url);     
      
            ITextFontResolver fontResolver = renderer.getFontResolver();     
            fontResolver.addFont("C:/Windows/Fonts/SIMSUN.TTC", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED);     
 
            renderer.layout();     
            renderer.createPDF(os);     


                 
            os.close();          
        }
}  
出错信息:
HTTP Status 500 - An exception occurred processing JSP page /index.jsp at line 30

--------------------------------------------

type Exception report

message An exception occurred processing JSP page /index.jsp at line 30

description The server encountered an internal error that prevented it from fulfilling this request.

exception 

org.apache.jasper.JasperException: An exception occurred processing JSP page /index.jsp at line 30

27:   </body>
28:   <%
29:   HtmlToPdf htp=new HtmlToPdf();
30:   htp.go(); 
31:    %>
32: </html>


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:568)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:455)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause 

javax.servlet.ServletException: java.lang.NoClassDefFoundError: org/xhtmlrenderer/pdf/ITextRenderer
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(PageContextImpl.java:912)
org.apache.jasper.runtime.PageContextImpl.handlePageException(PageContextImpl.java:841)
org.apache.jsp.index_jsp._jspService(index_jsp.java:106)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause 

java.lang.NoClassDefFoundError: org/xhtmlrenderer/pdf/ITextRenderer
format.conversion.HtmlToPdf.go(HtmlToPdf.java:44)
org.apache.jsp.index_jsp._jspService(index_jsp.java:97)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


root cause 

java.lang.ClassNotFoundException: org.xhtmlrenderer.pdf.ITextRenderer
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714)
org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559)
format.conversion.HtmlToPdf.go(HtmlToPdf.java:44)
org.apache.jsp.index_jsp._jspService(index_jsp.java:97)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:432)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:390)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:334)
javax.servlet.http.HttpServlet.service(HttpServlet.java:728)


note The full stack trace of the root cause is available in the Apache Tomcat/7.0.42 logs.

java jsp pdf
[解决办法]
java.lang.ClassNotFoundException: org.xhtmlrenderer.pdf.ITextRenderer
你的jar包没导过来吧
[解决办法]
所有的关联包,都要放到WEB-INF/lib下

热点排行