用于JSP应用程序的浏览器插件或调试面板

时间:2011-03-02 05:29:27

标签: java debugging jsp tomcat error-handling

我已经习惯了Django的错误页面,其中包含了所有细节,所以我真的很难与Tomcat / JSP无法对JSP标签拼写错误导致的基本JasperException做同样的事情等等。所有这些都进入localhost.log并且它们很难被发现或通读。

是否有一个浏览器插件或者一个小型的JSP应用程序可以很好地完成这项工作?

我可以try/catch我的JSP中的所有异常并将其传递给该app /插件,因此它可以很好地显示浮动div中的错误详细信息。

1 个答案:

答案 0 :(得分:1)

我不知道有任何这样的事情。而且我怀疑现在很难做得更好;例如针对JSP编译错误的HTTP 500响应,以及......对于JSP执行错误,没有任何有用的信息传递给浏览器。

基本问题是Servlet和JSP的实现模型。基本上,servlet在打开输出流时“提交”HTTP响应。一旦发生这种情况,就无法更改响应标头。您无法更改响应状态代码。您无法更改内容类型标题。

如果在执行JSP或标记期间抛出某个异常,则无法向浏览器报告此异常。很可能是使用“text / html”内容类型提交响应,并且JSP已经开始编写HTML。无法撤消。太晚了。遗憾。

如果JSP无法可靠地向浏览器发送诊断消息,那么浏览器插件将无济于事。

“修复”这个问题的唯一方法是让JSP将响应主体写入内存缓冲区,并且只有在完成后才将其复制到输出流,并确定不会抛出任何异常。由于性能影响,这无法解决。