struts2会吃掉异常

前段时间比较忙,昨天稍微有点空,继续搭之前搭了一半的开发框架。在struts2和spring mvc中犹豫了一下,还是选了struts2,主要是考虑到团队里开发人员之前都没有接触过spring mvc,选struts2大家好接受一点

集成struts2时,因为很久没弄就忘记了,把filter配成了老的FilterDispatcher,检查的时候发现这个类已经声明过期了,新的struts2.1.3.4,应该用StrutsPrepareAndExecuteFilter

不过附带发现了一个问题,就是struts2内部捕获到异常的话,不会继续向上抛了,而是通过一个sendError()方法内部处理,最后写到HttpServletResponse里,所以浏览器里能看到异常栈的信息,但是在控制台反而看不见

我觉得struts2的这个设计不是很好。毕竟作为一个开发人员,在页面上看到了异常,但是到控制台(容器是jboss的话,会记录到server.log里)反而看不见,这样是感觉很奇怪的,我昨天是跟到源码里面,才发现这个问题

一般来说,如果应用捕获到了异常,要么继续向上抛,要么自行处理掉。但是无论怎么样,记录日志我认为是必须的(日志文件或者控制台)。struts2的这种处理方法,对于开发人员事后定位来说,等于是没有任何记录,要定位问题就很不方便了

你可能感兴趣的:(struts2,异常)