服务器端的 DWR 异常处理



有客户端DWR异常处理的文档:

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

但我正在寻找 DWR 服务器端异常处理的文档。基本上我遇到的问题是:详细错误(堆栈跟踪)返回到客户端,暴露 Web 应用程序详细信息。需要确保没有堆栈跟踪返回到客户端。

DWR 版本:3.0

关于 DWR 的服务器端异常处理的任何指针?谢谢。

在这种情况下,我会用 try/catch 块包装异常。问题是:你应该在哪里做?

DWR有一个过滤器机制,它很像Java Servlet 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 块中,然后由你决定下一步该怎么做。

我希望这会对您有所帮助:]

相关内容

  • 没有找到相关文章

最新更新