我有一个仅由<input type="file"/>
标签组成的JSP表单,允许用户浏览并选择excel表。
我将编写一个servlet程序,用于将选定的文件上传到服务器。
我的问题是,
在servlet程序中必须使用哪种方法来接收文件和处理?比如doGet,doPost或doPut?
我编写了一个java程序来读取excel文件并将内容与数据库进行比较。我是否需要在servlet程序本身中集成java程序,还是只需要从Servlet中单独调用java程序?
请告知。
答案 0 :(得分:3)
doPost
。请记住enctype="multipart/form-data"
&gt;的<form
。此外,您还需要一个特殊的实用程序来处理该enctype。 commons-fileupload使您能够解析多部分请求。
如果你将jar或类添加到类路径(jar转到WEB-INF/lib
,一个类 - WEB-INF/classes
),那么你可以直接在你的servlet中使用它,如:
ExcelDatabaseComparator comparator = new ExcelDatabaseComparator();
comparator.compare(..);
答案 1 :(得分:2)
如HTML specification所述,您必须使用POST
方法,并且表单的enctype属性必须设置为"multipart/form-data"
。
<form action="upload" method="post" enctype="multipart/form-data">
<input type="file" name="file" />
<input type="submit" />
</form>
由于请求方法是POST
,您需要挂钩Servlet中的doPost()
方法。
您可以通过Java方式从Servlet内部调用Java代码。导入包/类,实例化/访问它,使用方法。与所有其他Java类没什么不同。