在Spring Framework开始写入客户端之后处理java Exception

时间:2012-02-23 22:48:48

标签: spring spring-mvc exception-handling

在我的网络应用中,我遇到了一个在我的一个视图中发生异常的情况。由于Web服务器已经开始向客户端写入数据,因此它遇到异常并转到我在web.xml中定义的默认错误页面。

我尝试了response.reset();response.resetBuffer();之类的内容,但无济于事,这些都没有改变行为。发送给客户端的内容看起来像这样。

<html>
  <head>

    <!-- Partial content delivered -->

    <!-- EXCEPTION OCCURS, error.jsp is sent -->

<html>
  <head>...</head>
  <body>
    <!-- Stack trace -->
  </body>
</html>

因为你可以看到HTML变得严重,因为在将一些数据发送到客户端并且没有任何渲染之后发生异常,甚至不是error.jsp。所以要清楚我的问题是。避免这种情况发生的最佳做法是什么?如何在收到部分内容后重定向我的应用用户?

1 个答案:

答案 0 :(得分:1)

最佳做法是修复错误,并使生成HTML标记时无法抛出异常。

如果遵循MVC原则,那么每个可以生成异常(验证,业务调用,数据库调用)的任务都应该在调度到视图之前从操作中完成。该视图应该只需生成标记并从存储在请求中的bean中获取信息。除非代码中存在错误,否则不应抛出任何异常。