日期:2014-05-17  浏览次数:20820 次

[求助]TOMCAT 下载文件时提示空指针异常 下来来的XLS是空白的
String Execl_file_realpath=request.getSession().getServletContext().getRealPath("")+"\\export\\";
String modelfile=request.getSession().getServletContext().getRealPath("")+"\\model\\xzdc.xls";
String filename="";

////中间执行了xls生成的代码,无误

response.setContentType("application/x-download");//设置为下载application/x-download  
String filedownload = "/export/"+filename;//即将下载的文件的相对路径  
String filedisplay = filename;//下载文件时显示的文件保存名称  
response.addHeader("Content-Disposition","attachment;filename=" + new String(filedisplay.getBytes("gb2312"),"iso8859-1"));  

try{
  javax.servlet.RequestDispatcher dis = application.getRequestDispatcher(filedownload);
if(dis!= null){
  dis.forward(request,response);
}
  response.flushBuffer();
  out.clear();
  out = pageContext.pushBody();
}catch(Exception e){
  e.printStackTrace();
}

同样我是在export文件下生成的xls文件,从后台看文件夹下确实有生成好的文件,
但是执行到dis.forward(request,response);这步后,网页弹出文件下载,
下载来的XLS文件是空白的,并且同时报空指针异常.
我想肯定是filedownload的路径错误,但是死活也调不出来,跪求帮助...
使用的TOMCAT服务.在MyEclipse操作界面下的export文件夹下没有文件,只有在F盘的TOMCAT下才有.
求解


------解决方案--------------------
在myeclipse文件夹中不会有文件的 因为项目是放到 服务器运行的 文件就存在部署后服务器中 myeclipse

中的 那是 给你开发用的 既然tomcat下有文件了 那就没问题了 ! myeclipse本身没有服务器功能 借用了

 外置的服务器 只不过把服务器集成到了 myeclipse 中 方便 测试