提交JSP页面从浏览器中消失

时间:2011-12-28 08:06:24

标签: java jsp struts-1 struts-config

这是我第一次使用struts(1.2)

在我的jsp页面中我有一个表单,用户需要提供IP地址和文件名,一旦他提交页面,这些数据就会传递给一个Web服务,该服务连接到设备并以给定的文件名收集数据

现在的问题是,当我在一段时间后使用按钮提交页面时(在IExplorer上大约1-2分钟,在firefox上大约4-5分钟),我的应用程序页面消失了;我在应用程序日志或weblogic日志中看不到任何错误。

这是一个同步请求,用户必须在UI /网页上等待最终结果显示,大约需要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上,我们在那里映射了动作。

过去一周我一直在努力解决这个问题,而且无法做任何事情。

我尝试使用<%c:out />在JSP上添加一些日志 但那也行不通。我不知道如何调试此问题。任何帮助将不胜感激。

另一个更新: 我在.jsp文件中添加了 html refresh 标记,现在FireFox页面上的这个更改一直保持到最终结果显示,但是在IE上我仍然看到这个问题,我试过IE6和IE8

2 个答案:

答案 0 :(得分:0)

你可能会遇到一些浏览器超时。将调试放在JSP中是没有意义的,因为您的操作在30或40分钟后转发到JSP。这种做法不是用户友好的,并且使浏览器和服务器长时间保持开放连接。这可能是您观察此行为的原因。

您应该在后台启动长流程,并立即发送响应,告知用户工作正在进行中。让这个页面每分钟刷新一次,或者每分钟触发一次ajax请求,以了解该过程是否已经结束。

答案 1 :(得分:0)

感谢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

感谢您的帮助。