2011-12-28 70 views
0

消失這是我第一次用struts(1.2)提交JSP頁面從瀏覽器

在我的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上,但那也行不通。我不知道如何調試這個問題。任何幫助,將不勝感激。

另一個更新: 我已經加入HTML刷新標籤在.jsp文件,這種變化現在火狐網頁停留,直到最後的結果顯示,但在IE瀏覽器我仍然看到這個問題,我已經嘗試過用IE6和IE8。

+0

簽名被刪除,請參閱常見問題在http://www.stackoverflow.com/faq#signatures – 2011-12-28 08:48:26

回答

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

感謝所有幫助。

0

您可能正在瀏覽某些瀏覽器超時。將調試放在JSP中沒有意義,因爲在30或40分鐘後,您的操作轉發到JSP。這種做法不便於用戶使用,並且使瀏覽器和服務器保持開放連接的時間過長。這可能是你觀察到這種行爲的原因。

您應該在後臺啓動長時間的過程,並立即發送一個響應,告訴用戶工作正在進行中。讓該頁面每分鐘刷新一次,或每分鐘觸發一次ajax請求,以瞭解該進程是否已結束。