0

クライアント側の DWR 例外処理に関するドキュメントがあります。

http://directwebremoting.org/dwr/documentation/browser/errors.html

しかし、DWR サーバー側の例外処理に関するドキュメントを探しています。基本的に私が直面している問題は、詳細なエラー (スタック トレース) がクライアント側に返され、Web アプリケーションの詳細が公開されることです。スタックトレースがクライアントに返されないようにする必要があります。

DWR バージョン: 3.0

DWR のサーバー側の例外処理に関するポインタはありますか? ありがとう。

4

1 に答える 1

0

その場合、try/catch ブロックで例外をラップします。問題は、どこでそれを行うべきかということです。

DWR には、Java サーブレット API のフィルターによく似たフィルター メカニズムがあります。

次のように書くことができます。

public class ExceptionFilter implements org.directwebremoting.AjaxFilter {
  public Object doFilter(Object obj, Method method, Object[] params, AjaxFilterChain chain) throws Exception {
    Object res;
    try{
      res = chain.doFilter(obj, method, params);
    } catch(Exception e){
      // throw your Exception with no "extra" data
      throw new RuntimeException();
    }
    return res;
  }
}

dwr.xml ファイルでいくつかの構成を行う必要がある場合があります (これについては、お読みください: http://directwebremoting.org/dwr/documentation/server/configuration/dwrxml/filters.html )

(編集1)もう少し説明:

これが行うことは、DWR リモート呼び出しをインターセプトし、その呼び出しを実行チェーンに転送することです。その呼び出し (chain.doFilter) に追加したのは、try/catch ブロックです。コードが例外をスローする必要がある場合、それは catch ブロックで終了し、次に何をするかはあなた次第です。

これがお役に立てば幸いです:]

于 2012-05-10T10:44:47.947 に答える