使用JSP将Excel数据上传到Oracle数据库

我有一个inputtypes文件的表单。

<form id="upload" action="fileUpload.jsp" method="post"> <input type="file" id="qns" name="qns" accept=".xls,.xlsx"><br><br> <input type="submit" id="uploadFile" value="Upload File"> </form> 

用户应该能够浏览到一个Excel文件,并提交,我想Excel数据上传到Oracle XE数据库(我使用的是Apache POI)。

但是,在fileUpload.jsp页面中,我无法访问浏览的文件,因为它只给出文件名,而不是整个path。

fileUpload.jsp中的代码是:

 String filename = request.getParameter("qns"); InputStream input = new FileInputStream(filename); POIFSFileSystem fs = new POIFSFileSystem(input); 

错误:

java.io.FileNotFoundException:Abc.xls(系统找不到指定的文件)。

我是否需要通过servlet将file upload到服务器,然后访问它? 请帮忙。

你错了。 我们无法访问用户的磁盘。 FileInputStream是从您有权访问的磁盘读取文件。 在这种情况下,你的用户和你的服务器在不同的机器上,甚至可能是分开的。

为此,您需要一个多部分窗体和一个可以为您读取多部分文件stream的Java实用程序。

这里有一个Apache实用程序 ,就是这样做的。

如果你喜欢用简单的Java EE风格来做,那么这里是从oracle文档上传文件的链接。