applet在linux下出現的問題

fanjj_023 2011-04-07 12:20:27
我在用iReport做打印時發現問題如下:
錯誤描述:net.sf.jasperreports.engine.JRException:Error Loading object(from URL:http://192.31.2.18:8080/htcmc/printlable?batch=150433&qty=978)


程序:
JOptionPane.showMessageDialog(null, url);
jasperPrint = (JasperPrint)JRLoader.loadObject(url);//執行到這裡就報上面的錯


為什麼放到linux中就會有這個錯呢?在windows下沒有,為什麼?
...全文
147 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
tongjialin313 2011-04-08
  • 打赏
  • 举报
回复
我也是同样的问题,你解决了吗?
fanjj_023 2011-04-08
  • 打赏
  • 举报
回复
怎麼沒人關注??
fanjj_023 2011-04-08
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tongjialin313 的回复:]
我也是同样的问题,你解决了吗?
[/Quote]

我已經解決了,請仔細檢查你的servlet類,applet確認沒問題後,肯定是servlet裡的代碼有錯,可能是它能在xp下運行,但在linux下不行,比如:ServletActionContext.getServletContext().getRealPath("/report_print.jasper");還有疑問可以加我QQ:247609416
fanjj_023 2011-04-07
  • 打赏
  • 举报
回复
沒人頂嗎?

下面我再貼出略詳一點代碼:
web.xml:
<servlet>
<servlet-name>print</servlet-name>
<servlet-class>ReportServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>print</servlet-name>
<url-pattern>/printlable</url-pattern>
</servlet-mapping>
jsp:
function openApp()
{
var inStoreBatch=document.getElementById("inStoreBatch").value;
var packQty=document.getElementById("packQty").value;
var url = "printlable?inStoreBatch="+inStoreBatch+"&packQty="+packQty;
document.write('<applet code="ReportApplet.class" ARCHIVE="jasperreports-3.0.1.jar" width=600 height=100>');
document.write('<param name = "type" value="application/x-java-applet;version=1.2.2">');
document.write('<param name = "scriptable" value="false">');
document.write('<param name = "REPORT_URL" value ="'+url+'">');
document.write('</APPLET>');
}
</script>

applet:
String strUrl = getParameter("REPORT_URL");
URL url = new URL(getCodeBase(),strUrl);
jasperPrint = (JasperPrint)JRLoader.loadObject(url);
到這裡就報:
net.sf.jasperreports.engine.JRException:Error Loading object........


servlet:
InputStream is = new FileInputStream(context.getRealPath("/report_print.jasper"));

JasperReport jasperReport = (JasperReport) JRLoader.loadObject(is);

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters,new JRBeanCollectionDataSource(list));
response.setContentType("application/octet-stream");
ServletOutputStream ouputStream = (ServletOutputStream) response
.getOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(ouputStream);
oos.writeObject(jasperPrint);// 将JasperPrint对象写入对象输出流中
oos.flush();
oos.close();

請高手們幫忙解決,順便問下,在linux裡怎麼訪問不到servlet,我是這樣訪問的:
http://192.31.2.18:8080/htcmc/printlable?batch=150433&qty=978
這樣訪問也沒說訪問不到servlet,不知為何???

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧