Относительно использования сервлета в моем приложении - PullRequest
0 голосов
/ 13 сентября 2010

У меня есть форма JSP, которая состоит только из тега <input type="file"/>, позволяющего пользователю просматривать и выбирать лист Excel.

Собираюсь написать программу сервлета для загрузки файла, выбранного на сервер.

Мои вопросы здесь,

  1. Какой метод необходимо использовать в программе сервлета для получения файла и его обработки? Такие как doGet, doPost или doPut?

  2. Я написал Java-программу для чтения файла Excel и сравнения содержимого с базой данных. Нужно ли мне интегрировать Java-программу в саму программу сервлета или мне нужно просто вызывать только Java-программу из сервлета?

Пожалуйста, сообщите.

Ответы [ 2 ]

3 голосов
/ 13 сентября 2010
  1. doPost.И помните enctype="multipart/form-data" из <form>.Также вам понадобится специальная утилита для обработки этого энтипа. commons-fileupload дает вам возможность анализировать составные запросы.

  2. Если вы добавляете банку или класс в classpath (баночка переходит к WEB-INF/libкласс - до WEB-INF/classes), затем вы можете использовать его непосредственно из своего сервлета, например:

    ExcelDatabaseComparator comparator = new ExcelDatabaseComparator();
    comparator.compare(..);
    
2 голосов
/ 13 сентября 2010
  1. Как указано в спецификации HTML , необходимо использовать метод POST, а атрибут enctype формы должен быть установлен на "multipart/form-data".

    <form action="upload" method="post" enctype="multipart/form-data">
        <input type="file" name="file" />
        <input type="submit" />
    </form>
    

    Поскольку метод запроса POST, вам нужно подключить метод doPost() в сервлете.

  2. Вы можете просто вызвать код Java из сервлетаобычный способ Java.Импорт пакета / класса, создание экземпляра / доступ к нему, использование методов.Ничего не отличается от всех других классов Java.

См. Также:

...