Struts2项目实战 微云盘(八):Action异常处理

一、本节说明

进入github下载该项目
进入github查看该项目的配置指南
本节是这个项目的最后一篇博文了,本节主要介绍Action的异常处理以及项目中出现的问题

二、Action的异常处理

1.直接在Action使用try..catch语句
类似这种

@Override
    public String execute(){
        try {
            //各种处理逻辑
        } catch (Exception e) {
            e.printStackTrace();
        }
        return LOGIN;
    }

2.声明式异常处理
第一种方式是完全可行的,但是如果Action非常多呢,一个一个的捕获异常是不是很麻烦呢?
所以可以在struts.xml配置异常以及处理结果

<!-- 定义全局结果映射 -->
<global-results>
    <result name="exceptionResult">/WEB-INF/content/exception.jsp</result>
</global-results>

<!-- 定义全局异常映射 -->
<global-exception-mappings>
    <exception-mapping exception="java.lang.Exception" result="exceptionResult" />
</global-exception-mappings>

就这么几行就可以处理该包下所有的Action的异常了,当Action有异常时会跳转到exception.jsp,并且输出堆栈信息。

三、项目中遇到的问题

1.要重视异常
在做添加文件夹功能的时候,ajax请求DirAction后不回调success方法,折腾了好长时间才想起可能发生了错误(现在想想感觉好傻),然后添加了错误回调,找到了错误的原因。

2.项目还有不足
这个项目还有很多不足,比如注销功能没有实现、用户登陆后还可以进入登录页面。当然通过上面的介绍再去实现这两个功能也很简单。
注销功能的实现:定义LogoutAction清除用户保存在session中的信息,配置LogoutAction。
第二个问题可以使用拦截器实现,在项目中的cn.lzf.Interceptor包下有一个AuthorityInterceptor就是权限拦截器,在struts.xml文件中定义了一个权限拦截器,如果想为哪个Action添加权限检测功能只需要为action配置一个拦截器引用就可以了。

3.结语
该项目到此就彻底结束了,如果对本项目感兴趣可以到github下载本项目,地址见本节说明中,下载本项目后如果导入myeclipse中有问题可以查看配置文档,地址见本节说明。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值