关于在我的应用程序中使用Servlet

时间:2010-09-13 14:38:19

标签: java servlets file-upload

我有一个仅由<input type="file"/>标签组成的JSP表单,允许用户浏览并选择excel表。

我将编写一个servlet程序,用于将选定的文件上传到服务器。

我的问题是,

  1. 在servlet程序中必须使用哪种方法来接收文件和处理?比如doGet,doPost或doPut?

  2. 我编写了一个java程序来读取excel文件并将内容与数据库进行比较。我是否需要在servlet程序本身中集成java程序,还是只需要从Servlet中单独调用java程序?

  3. 请告知。

2 个答案:

答案 0 :(得分:3)

  1. doPost。请记住enctype="multipart/form-data"&gt;的<form。此外,您还需要一个特殊的实用程序来处理该enctype。 commons-fileupload使您能够解析多部分请求。

  2. 如果你将jar或类添加到类路径(jar转到WEB-INF/lib,一个类 - WEB-INF/classes),那么你可以直接在你的servlet中使用它,如:

    ExcelDatabaseComparator comparator = new ExcelDatabaseComparator();
    comparator.compare(..);
    

答案 1 :(得分:2)

  1. 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()方法。

  2. 您可以通过Java方式从Servlet内部调用Java代码。导入包/类,实例化/访问它,使用方法。与所有其他Java类没什么不同。

  3. 另见: