SSH-struts2的异常处理

在学习j2se的时候学习过利用java的exception类去处理异常。在struts2框架中也提供了对于异常的处理,简单说就是当Action发生异常时,可以在struts2.xml文件中进行配置,将页面跳转进行调整,给用户一个更人性化的反馈。

在struts2的异常处理中,分为两种异常处理,一种是全局的:所有Action出现异常都可以跳转到此页面。另一种是局部的:指定某一个Action异常跳转到此页面。

局部异常处理
在struts2.xml中在exception-mapping节点中指定result属性名称;exception属性中指定异常类,此类要继承exception。
result节点中指定name属性,以及异常发生后跳转的页面。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="struts2" extends="struts-default">
        <action name="login" class="com.syq.struts2.LoginAction" >
            <exception-mapping result="usernameInvalid" exception="com.syq.exception.UsernameException"></exception-mapping>
            <exception-mapping result="passwordInvalid" exception="com.syq.exception.PasswordException"></exception-mapping>

            <result name="success">/result.jsp</result>
            <result name="usernameInvalid">/UsernameInvalid.jsp</result>
            <result name="passwordInvalid">/PasswordInvalid.jsp</result>
        </action>
    </package>

</struts>

全局异常处理
global-results节点中指定异常跳转的页面;global-exception-mappings中指定异常类。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <package name="struts2" extends="struts-default">
        <global-results>
            <result name="usernameInvalid">/UsernameInvalid.jsp</result>
            <result name="passwordInvalid">/PasswordInvalid.jsp</result>
        </global-results>
        <global-exception-mappings>
            <exception-mapping result="usernameInvalid" exception="com.syq.exception.UsernameException"></exception-mapping>
            <exception-mapping result="passwordInvalid" exception="com.syq.exception.PasswordException"></exception-mapping>
        </global-exception-mappings>

        <action name="login" class="com.syq.struts2.LoginAction" >
            <result name="success">/result.jsp</result>
        </action>
    </package>

</struts>

我们即可以在Action中定义异常与结果,也可以定义全局的异常与结果,局部的优先级要大于全局的,如果定义全局的那么可以为所有的Action所公用,而局部的异常与结果只能被当前的Action所独享。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
SSH2框架是结合了Spring3.2、Struts2.3.4和Hibernate4.2三个框架的一种开发模式。它的目标是将这三个框架的优势结合起来,实现更高效、更方便的开发方式。 首先,Spring框架作为SSH2的核心框架,提供了Spring IOC容器和AOP特性。Spring能够管理对象的生命周期,简化了大量的配置和代码。它还提供了声明式事务管理和面向切面编程能力,极大地简化了事务处理和异常处理。 其次,Struts2作为SSH2的MVC框架,提供了强大的请求处理和表单验证功能。它基于标签和表达式语言,可以直接将页面元素和后台数据进行绑定,大大减少了前端和后台开发的工作量。Struts2还支持拦截器,能够方便地进行权限控制和请求的预处理。 最后,Hibernate作为SSH2的ORM框架,提供了面向对象的数据库访问方式。Hibernate能够将Java对象和数据库表进行映射,并提供了强大的查询和缓存功能。使用Hibernate,开发者可以将精力集中在业务逻辑上,而不需要过多关注数据库操作的细节。 通过整合Spring、Struts2和Hibernate,SSH2框架能够极大地简化企业级应用的开发过程。开发者可以更专注于业务逻辑的设计和实现,而不需要关心框架的集成和配置。同时,SSH2框架还提供了良好的扩展性和灵活性,可以根据项目需求进行定制和拓展。 总而言之,SSH2框架是一种结合了Spring、Struts2和Hibernate的开发模式,通过整合三个框架的优势,提供了更高效、更方便的开发方式。它简化了项目的配置和集成,提高了开发效率,是开发企业级应用的优秀选择。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值