在学习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. windows10 查看 nvidia driver cuda 版本
  2. Java8中的Mapreduce
  3. TLD(Tracking-Learning-Detection)学习与源码理解之(三)
  4. Android应用权限管理总结
  5. java可视化日历_Java简单可视化日历程序
  6. Chromebook开发者模式Linux,Chromebook 的开发者模式和开发者版本有什么区别?
  7. java js 正则表达式_如何在JavaScript与Java中使用正则表达式
  8. python书籍_最好的Python书籍,让您像专业程序员一样编程
  9. HighCharts/Highstock使用小结,使用汉化及中文帮助文档
  10. Unity Asssetbundle问题记录
  11. 深度剖析 C++ 对象池自动回收技术实现
  12. 软件质量保证基本知识加复习建议
  13. python编写网络防火墙怎么设置_防火墙怎么设置?网络防火墙设置方法介绍
  14. 文档被外泄?如何有效管控文档拷贝行为
  15. Oracle基础学习
  16. 成立5年多 占领市场份额70% 思岚科技凭什么跻身行业第一
  17. 便携式计算机的基本知识,使用便携式计算机,错误的做法是()A、非涉密便携机不得存储或处理涉密信息B、涉密便携机需经过保 - 普法考试题库问答...
  18. 使用记事本编写Java程序的运行步骤及乱码问题
  19. 如何通过病毒营销打造爆款产品
  20. 2021-2027全球与中国精密金属零部件市场现状及未来发展趋势

热门文章

  1. 工程师软技能3:如何学习
  2. springboot整合通用mapper操作数据库
  3. 面向文档的NoSQL数据库MongoDB
  4. Spring Cloud Sleuth 原理简介和使用
  5. java tcp发消息给硬件_服务器可以使用TCP向客户端发送消息吗?
  6. yb3防爆电机型号含义_YBK3防爆电机介绍
  7. DOS中切换盘符(直接CD不行)
  8. application.yml改成bootstrap.yml不报错了(Failed to configure a DataSource: ‘url’ attribute)
  9. 数据库索引为什么会失效
  10. ThreadLocal知识点详解