на странице представления JSP исчезают из браузера - PullRequest
0 голосов
/ 28 декабря 2011

Я впервые работаю со стойками (1.2)

На моей странице jsp у меня есть форма, пользователь должен предоставить IP-адрес и имя файла, после отправки страницы эти данные передаются веб-службе, которая подключается к устройству и собирает данные с данным именем файла. .

Теперь проблема в том, что, когда я через некоторое время отправляю страницу с помощью кнопки (примерно 1-2 минуты в IExplorer и 4-5 минут в firefox), страница моего приложения исчезает; Я не вижу ошибок в журналах приложений или журналах веб-журналов.

Это синхронный запрос, и пользователю пришлось ждать на пользовательском интерфейсе / веб-странице для отображения окончательного результата, который занимает около 30-40 минут. ниже приведен фрагмент из файла struts-config.xml

    <action 
        path="/Collect"
        type="com.aqura.project.struts.fileMgt.CollectResultAction"
        validate="false">
          <forward name="Collect" 
                   path="/jsp/collect.jsp"/>
    </action> 

    <action
        path="/CollectDisplay"
        type="com.aqura.project.struts.fileMgt.CollectResultAction"
        name="collectForm"
        scope="request"
        validate="true"
        input="/jsp/collect.jsp">
          <exception
              key="exception.prodconn.error"
              type="com.aqura.project.service.prodConnect.ProductConnectException"
              path="/jsp/ctError.jsp" />
          <forward name="FileTransferDisplay"
                   path="/jsp/fileTransferDisplay.jsp" 
                   redirect="true"/>
          <forward name="FileResolve" 
                   path="/FileResolve.do" 
                   redirect="true"/>
    </action>

collect.jsp - это файл jsp для этой операции, и пользователь должен ждать на этой странице, пока мы не получим файл успешно, как только файл будет получен, мы проверим, существует ли он и нуждается ли в переименовании, иначе он будет сохранен в пользователе a /c.

логика написана на CollectResultAction.java, где у нас есть сопоставленное действие.

Я боролся с этой проблемой в течение прошлой недели и не смог ничего разобрать.

Я попытался поместить несколько журналов в JSP, используя <%c:out /> но это тоже не сработало. Я не уверен, как отладить эту проблему. Любая помощь будет оценена.

Еще одно обновление: Я добавил тег html refresh в файл .jsp, с этим изменением теперь на странице Firefox остается до отображения окончательного результата, но в IE я все еще вижу эту проблему, я пробовал с IE6 и IE8.

Ответы [ 2 ]

0 голосов
/ 13 января 2012

Спасибо JB Nizet, за вашу помощь.Я попытался добавить обновление каждую минуту, и я смог решить проблему с FireFox, и он начал работать, однако мое приложение сильно зависело от IE, и я все еще видел ту же проблему в IE.

потратив много времени на эту проблему, я наконец нашел решение проблемы с IE, и вам нужно сбросить IE к заводским настройкам, вот как

в строке меню (если ваша строка меню отсутствуетщелкните правой кнопкой мыши на панели инструментов рядом со значком «Домой» на iE7) щелкните инструменты Интернета, расширенный параметр ..... и в нижней части вы увидите RESET INTERNET EXPLORER.Идите вперед и нажмите эту кнопку, и ваши страдания (надеюсь) закончатся.После этого мой интернет-обозреватель начал загружать все страницы.

Я нашел это решение @ http://www.techsupportforum.com/forums/f56/internet-explorer-not-loading-pages-but-firefox-is-69617.html

Спасибо за помощь.

0 голосов
/ 28 декабря 2011

Вероятно, у вас истекло время ожидания браузера. Ввод отладки в JSP не имеет смысла, так как ваше действие переходит к JSP через 30 или 40 минут. Этот способ не удобен для пользователя и заставляет браузер и сервер слишком долго сохранять открытое соединение. Это может быть причиной, по которой вы наблюдаете такое поведение.

Вы должны запустить длительный процесс в фоновом режиме и немедленно отправить ответ, сообщающий пользователю, что работа выполняется. Пусть эта страница обновляется сама каждую минуту или запускает ajax-запрос каждую минуту, чтобы узнать, завершился процесс или нет.

...