0

ストラット(1.2)を扱うのはこれが初めてです

私のjspページにはフォームがあり、ユーザーはIPアドレスとファイル名を入力する必要があります。ページを送信すると、このデータはデバイスに接続して指定されたファイル名のデータを収集するWebサービスに渡されます。

問題は、しばらくしてからボタンを使用してページを送信すると(IExplorerでは約1〜2分、Firefoxでは4〜5分)、アプリケーションページが表示されなくなることです。アプリケーションログまたはweblogicログにエラーが表示されません。

これは同期リクエストであり、ユーザーはUI / Webページで最終結果が表示されるまで待つ必要がありました。これには、struts-config.xmlのスニペットが約30〜40分かかります。

    <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に記述されており、アクションがマップされています。

私はこの1週間この問題に苦しんでいて、何も理解できません。

を使用してJSPにいくつかのログを記録しようとしました<%c:out /> が、それも機能しませんでした。この問題をデバッグする方法がわかりません。どんな助けでもいただければ幸いです。

別の更新: .jspファイルにhtmlリフレッシュタグを追加しました。この変更はFireFoxページに残り、最終結果が表示されるまで続きますが、IEではまだこの問題が発生しているため、IE6とIE8で試しました。

4

2 に答える 2

0

ブラウザのタイムアウトが発生している可能性があります。アクションは30分または40分後にJSPに転送されるため、JSPにデバッグを配置しても意味がありません。この方法はユーザーフレンドリーではなく、ブラウザとサーバーが長時間開いた接続を維持することになります。これが、この動作を観察する理由である可能性があります。

長いプロセスをバックグラウンドで開始し、すぐに作業が進行中であることをユーザーに通知する応答を送信する必要があります。このページを毎分更新するか、毎分ajaxリクエストをトリガーして、プロセスが終了したかどうかを確認します。

于 2011-12-28T08:24:07.840 に答える
0

JBNizetにご協力いただきありがとうございます。これで毎分更新を追加してみましたが、FireFoxで問題を解決でき、動作を開始しましたが、アプリケーションはIEに大きく依存しており、IEでも同じ問題が発生していました。

この問題に多くの時間を費やした後、私はついに問題がIEにあるという解決策を見つけました、そしてあなたはIEを工場出荷時の設定にリセットする必要がありますここに方法があります

メニューバー(メニューバーがない場合は、iE7のホームアイコンの近くにあるツールバーを右クリックします)で、インターネットツール、詳細オプションをクリックします。下部に[インターネットエクスプローラーのリセット]が表示されます。先に進んでそのボタンを押すと、あなたの惨めさは(うまくいけば)終わります。その後、私のInternetExplorerはすべてのページを読み始めました。

私はこの解決策を@http ://www.techsupportforum.com/forums/f56/internet-explorer-not-loading-pages-but-firefox-is-69617.htmlで見つけました

すべての助けをありがとう。

于 2012-01-13T10:44:56.533 に答える