在学习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所独享。

SSH-struts2的异常处理相关推荐

  1. SSH(Struts2+Hibernate+Spring)开发策略

    很多小伙伴可能一听到框架两个字就会马上摇头,脑子里立刻闪现一个词---"拒绝",其实我也不例外,但我想告诉大家的是,当你真正掌握它时,你会发现**SSH**用起来是那么顺手,因为它 ...

  2. SSH (Struts2+Spring3.0+Hibernate3)框架(二) 框架的配置

    一.准备工作: 1. JDK -> jdk1.6.0_17 安装(环境变量配置): JAVA_HOME = C:\ jdk1.6.0_17; PATH = %JAVA_HOME%\bin; %J ...

  3. JavaWeb笔记之SSH(Struts2框架)

    Struts2框架 一.Struts 2 框架简述 1.1 Struts 2 框架的组成 1.2 Struts 2 开发环境的构建 1.3 Struts 2 应用的开发步骤 二.OGNL 2.1 简介 ...

  4. 配置Struts2的异常处理

    最好的方式是通过声明管理异常处理 1Action里面的execute()方法抛出所有异常:public String execute() throws Exception{} 2声明异常捕捉 配置st ...

  5. SSH struts2漏洞升级2.5.30

    1.背景 项目使用jdk1.7.tomcat7,在升级struts2.5.30版本中jar包出现不少问题 2.升级步骤 2.1.删除项目中旧jar包 其中xwork-2.0.5.jar被整合进stru ...

  6. SSH之IDEA2017整合Struts2+Spring+Hibernate

    摘要 IDEA无疑是Java编程的利器,在下面我们将介绍如何使用IDEA来整合SSH(Struts2 + Spring + Hibernate):介绍將分为三个部分来讲,分别是新建工程,Spring引 ...

  7. Struts2异常处理机制

    任何成熟的MVC框架都应该提供成就的异常处理机制,Strut2也不例外.Struts2提供了一种声明式的异常处理方式,Struts2也是通过配置的拦截器来实现异常处理机制的. 一.  异常处理机制 1 ...

  8. SSH札记(struts 2)

    利用上下班地铁上的时间重新学习了SSH,之前只是用SSH做开发,很多各自的特性都不甚了解,如今重新翻阅书籍,算是为自己以后进一步的参与项目开发结构设计以及细节处理优化打基础! 正如标题所言,现在的学习 ...

  9. ssh中c3p0连接mysql_JSP+SSH+Mysql+C3P0实现的传智播客网上商城

    项目简介 本系统是传智播客授课时的开发案例,基于JSP+SSH+Mysql的简单网上商城.在当代开发中,SSH的使用已经逐渐被SSM取代,但不代表我们不需要学习SSH,该系统简单,但功能齐全可以作为S ...

  10. Struts2(1)简介

    Struts2是一个开源的MVC框架.在企业级应用javaWeb开发中我们常常使用它. 一下是对Struts2的一个简单的介绍: 常见框架技术:(SSH) SSH--Struts2.Spring.Hi ...

最新文章

  1. 函数的凹凸性证明_判断复杂函数的凹凸性
  2. AR模型、MA(Moving Average)模型、ARMA模型、时间序列的定阶、ARIMA、SARIMAX
  3. python学习笔记 --- print (输出到文件 file)
  4. 两位一体数码管引脚图_两位一体共阴数码管,第二位数字显示不出来,按钮第7按钮按下去来回显示,但第一位又不显示了,,,急...
  5. Linux的IPC机制(二):Socket/管道/消息队伍/信号量
  6. 转载:opencv:关于vs opencv每次都要配置的解决方案
  7. MySQL max_allowed_packet设置及问题
  8. keepalived高可用集群配置
  9. @Entity报错,配置pom.xml
  10. extjs弹出窗口查看文本内容-new Ext.Window
  11. python 打印皮卡丘_Python干掉了97%的办公软件?
  12. HDU 1576 A/B(数论简单题,求逆元)
  13. UNIX 环境高级编程(八)—— fork 函数
  14. 《Ray Tracing in One Weekend》——Chapter 9: Dielectrics
  15. java queue的实例化_如何在java中实例化Queue对象?
  16. 国家漏洞库CNNVD:关于Dnsmasq多个缓冲区错误漏洞的通报
  17. ultraiso软碟通dmg转iso图文教程
  18. 基于讯飞语音API应用开发之——离线词典构建
  19. 2017_11_23 学习echarts之饼状、柱状、gl(三维柱状)、map地图
  20. H5在微信端自动播放音乐

热门文章

  1. 手把手教你学dsp_新课免费看| 手把手教你学DSP,C2000从入门到精通
  2. window下nginx反向代理配置
  3. Centos 系统swap虚拟内存添加与删除配置
  4. PHP parseurl 一个好用的函数
  5. redis专题:redis缓存穿透、缓存击穿、缓存雪崩等问题如何解决?
  6. zookeeper分布式锁原理及实现
  7. git啊,你让我好费劲啊
  8. 详解 Qt 串口通信程序全程图文 (3)
  9. 《Go语言程序设计》读书笔记(十)反射
  10. 在系统中用etcd实现服务注册和发现