Servlets paas将文件作为ExcelRead java函数的参数

Servlets paas将文件作为ExcelRead java函数的参数,servlets,Servlets,我是java家族的新手。请尽快帮忙。 我已经创建了一个jsp页面,其中 <INPUT NAME="F1" TYPE="file" id="i1" > <p align="left"><INPUT TYPE="submit" VALUE="submit"> 有人能建议我在这里做什么吗?你必须使用org.apache.tomcat.util.http.fileupload.DiskFileUpload DiskFileUpload

我是java家族的新手。请尽快帮忙。 我已经创建了一个jsp页面,其中

<INPUT NAME="F1" TYPE="file" id="i1" > 
<p align="left"><INPUT TYPE="submit" VALUE="submit">

有人能建议我在这里做什么吗?

你必须使用
org.apache.tomcat.util.http.fileupload.DiskFileUpload

              DiskFileUpload fu = new DiskFileUpload();
              fu.setSizeThreshold(1024);
              fu.setRepositoryPath(System.getProperty("java.io.tmpdir"));
              List fileList = fu.parseRequest(request);
              InputStream uploadedFileStream = null;
              for (Iterator i = fileList.iterator(); i.hasNext(); )
              {
                FileItem fi = (FileItem)i.next();
                if (fi.getSize() < 1)
                  {
                    throw new Exception("No file was uplaoded");
                  }

                  uploadedFileStream = fi.getInputStream();
                  excel.readExcelSheet(uploadedFileStream );
              }
}
DiskFileUpload fu=新的DiskFileUpload();
fu.setSizeThreshold(1024);
setRepositoryPath(System.getProperty(“java.io.tmpdir”);
List fileList=fu.parseRequest(请求);
InputStream uploadedFileStream=null;
for(迭代器i=fileList.Iterator();i.hasNext();)
{
FileItem fi=(FileItem)i.next();
if(fi.getSize()<1)
{
抛出新异常(“没有上传文件”);
}
uploadedFileStream=fi.getInputStream();
excel.readExcelSheet(上传文件流);
}
}
在ExcelRead中,必须将方法参数更改为
readExcelSheet(InputStream is)

希望对您有所帮助。

公共类ExcelRead扩展了HttpServlet{ExcelRead excel=new ExcelRead();受保护的void doPost(HttpServletRequest请求,HttpServletResponse响应)抛出ServletException,IOException{DiskFileUpload fu=new DiskFileUpload();fu.setSizeThreshold(1024);fu.setRepositoryPath(System.getProperty(“java.io.tmpdir”);List fileList=null;try{fileList=(List)fu.parseRequest(request);}catch(FileUploadException e){//TODO自动生成的catch块e.printStackTrace();}InputStream uploadedFileStream=null;for(迭代器i=((java.util.List)fileList.Iterator();i.hasNext();){FileItem fi=(FileItem)i.next();if(fi.getSize()<1){System.out.print(“未上载任何文件”);}uploadedFileStream=fi.getInputStream();excel.readExcelSheet(uploadedFileStream);public void readExcelSheet(InputStream uploadedFileStream){请尝试{Workbook wb=Workbook.getWorkbook(uploadedFileStream);System.out.println(“测试”);System.out.println(“工作簿中的工作表编号:=”+wb.getNumberOfSheets());for(int sheetNo=0;sheetNoSystem.out.println(“工作表名称\t”+wb.getSheetNo.getName());for(int row=0;row”+data+”);}System.out.println(“\n”);}}}}catch(异常ioe){ioe.printStackTrace();}}}仍在抛出LifecycleException:service.getName():“Catalina”;协议处理程序启动失败:java.io.FileNotFoundException:C:\Program Files\java\jre1.6.0_03\bin\keystore(系统找不到指定的路径)作为异常..:(也是java.lang.StackOverflower..nw我接下来做了什么更改?
              DiskFileUpload fu = new DiskFileUpload();
              fu.setSizeThreshold(1024);
              fu.setRepositoryPath(System.getProperty("java.io.tmpdir"));
              List fileList = fu.parseRequest(request);
              InputStream uploadedFileStream = null;
              for (Iterator i = fileList.iterator(); i.hasNext(); )
              {
                FileItem fi = (FileItem)i.next();
                if (fi.getSize() < 1)
                  {
                    throw new Exception("No file was uplaoded");
                  }

                  uploadedFileStream = fi.getInputStream();
                  excel.readExcelSheet(uploadedFileStream );
              }
}