JSP Progress Bar - PullRequest
       8

JSP Progress Bar

7 голосов
/ 04 мая 2011

Есть ли довольно простой способ реализовать индикаторы выполнения в JSP. По сути, у меня есть страница JSP, которая переходит к сервлету, который вызывает метод, теперь этот процесс будет выполняться в течение длительного времени, и я хочу указать состояние хода выполнения точно так же, как индикатор выполнения, отображаемый на панели задач eclipse. когда мы выполняем любую Java-программу.

Я нашел хороший учебник здесь http://onjava.com/pub/a/onjava/2003/06/11/jsp_progressbars.html, но он выглядит немного устаревшим.

Существуют ли новые и простые способы реализовать это?

Ответы [ 3 ]

3 голосов
/ 04 мая 2011

Определение хода выполнения конкретной задачи - удивительно сложная вещь, когда вы углубляетесь в детали. Как вы определяете, например, что вы сделали 50%? А что произойдет, если последние 10% вашей задачи займут половину общего времени?

Обычно для веб-приложения, если вам нужны индикаторы выполнения, лучше всего использовать маршрут AJAX, как упоминалось выше. Однако я нахожу, что в Интернете целесообразно указать пользователю, что что-то происходит. Просто сделайте какой-нибудь счетчик, который будет виден при отправке страницы, а затем снова скрыт при ее отображении ( см. здесь ). Это очень легко сделать, не вызывает никакого дополнительного снижения производительности и свидетельствует о некотором прогрессе

1 голос
/ 04 мая 2011

Существует множество решений, например, jQuery.

Вы можете использовать Jquery с Ajax для обновления индикатора выполнения:

http://jqueryui.com/demos/progressbar/

0 голосов
/ 04 мая 2011

По моему мнению, когда вы вызываете свой jsp, он должен сразу же вернуться к пользователю, но также указать, что в фоновом режиме выполняется какая-то сложная задача (например, с загрузчиком).Если вы хотите узнать ход выполнения задачи, вы должны использовать опрос Ajax или Comet push, чтобы получить его с вашего сервера.Для получения и отображения прогресса, я думаю, Ajax достаточно, и Comet может быть немного излишним.Вот еще о подходе Ajax:

http://en.wikipedia.org/wiki/Ajax_(programming)

Подробнее по вашему вопросу, сервлет (а также jsp) работает в соответствии с протоколом HTTP, который основан на запросе> Модель ответа.В современном мире редко бывают сайты, на которых вы переходите на jsp для выполнения сложной задачи, а затем вам приходится сидеть сложа руки, ничего не делая, пока ваш запрос завершен.Возможно, вы захотите дать своему пользователю свободу по-прежнему взаимодействовать с вашим веб-приложением / веб-сайтом, пока его запрос обрабатывается в фоновом режиме.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...