У меня есть создать код для загрузки PDF с помощью распорок 2. но когда я запускаю его он будет бросать исключение ...Почему Struts обнаружил необработанное исключение?
Struts обнаружил необработанное исключение:
Сообщения:
org.apache.commons.logging.LogFactory
org/apache/commons/logging/LogFactory
Файл: орг/Apache/Catalina/погрузчик/WebappClassLoaderBase.java
номер строки: 1313
вот мой код снимок ... где я сталкиваюсь исключения ...
public String execute() throws Exception {
try {
if (submit.equals("pdf")) {
rs = new ReportDAO().getPdf();
jasperPath = ServletActionContext.getServletContext().getRealPath("/Reports");
pdfName = "Studnet Report";
rpt = "studentReport.jrxml";
// I got error at this line....
JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(rs);
HashMap<String, Object> pm = new HashMap<String, Object>();
String logo = jasperPath + "/ws.jpg";
pm.put("logo", logo);
JasperReport jr = JasperCompileManager.compileReport(jasperPath + "/" + rpt);
System.out.println("ok");
JasperPrint jp = JasperFillManager.fillReport(jr, pm, resultSetDataSource);
JasperExportManager.exportReportToPdfFile(jp, jasperPath + pdfName + ".pdf");
fileInputStream = new FileInputStream(new File(jasperPath + pdfName + ".pdf"));
}
} catch (Exception e) {
e.printStackTrace();
}
return "SUCCESS";
}
struts.xml
<result name="SUCCESS" type="stream">
<param name="contentType">application/octet-stream</param>
<param name="inputName">fileInputStream</param>
<param name="contentDisposition">attachment;filename="${pdfName}.pdf"</param>
<param name="bufferSize">1024</param>
</result>
Исключение:
java.lang.reflect.InvocationTargetException
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
java.lang.NoClassDefFoundError: org/a паче/Обще/регистрация/LogFactory
net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:67)
net.sf.jasperreports.engine.JRPropertiesUtil.loadProperties(JRPropertiesUtil.java:99)
net.sf.jasperreports.engine.DefaultJasperReportsContext.initProperties(DefaultJasperReportsContext.java:94)
java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1313)
org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1164)
net.sf.jasperreports.engine.util.JRLoader.(JRLoader.java:67)
Возможный дубликат [Получение java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory exception] (http://stackoverflow.com/questions/1551697/getting-java-lang-classnotfoundexception-org-apache- commons-logging-logfactory) –