首页 » Java » Struts2 » 正文

Struts2异常处理实例

一 介绍

       java ee项目在某些情况下难免会产生一些异常,如果某些异常我们没有进行处理,那么将会抛给服务器,最后服务器会将异常信息直接在前台页面打印出来,比如说这样:

       像这种直接将异常打印出来是非常不好的,不仅因为普通用户看不懂,而且还会将服务器的一些内部信息暴露出来,比如说:绝对路径,这样可能将会“方便”某些黑客进行非法入侵。因此我们需要对这些异常进行处理,给用户显示一个比较友好的界面。

二 简单处理

       我们可以通过struts2的全局异常处理机制来处理,这种比较简单,配置struts.xml文件,然后添加异常页面即可。

(1)配置struts.xml :

在package里添加:

比如说我的是这样的:

(2)准备一个error页面——error.html:

这个就随便了,比如说我的是这样的:

(3)效果:

以上配置好以后,再次出现异常时就会这样显示了:


可以看出,现在的异常页面就比刚才友好多了

三 使用拦截器处理异常

使用这种方式就比上面的稍微多了一点步骤,不过提示的信息也要具体些,具体的步骤如下:

(1)struts.xml文件里的package里定义拦截器:

(2)com.zxpm.interceptor.ErrorInterceptor.java对异常进行处理:

(3)前台友好提示页面:

这里跟前面的差不多,多了一点对定义好的常见异常的提示,代码如下:

(4)测试:

为了测试效果,我手动抛出了一个空指针异常:

NullPointerException

然后进行测试,显示效果如下:


对于未定义的异常,显示的效果是这样的:


发表评论

*