知识大全 struts2异常处理

Posted

篇首语:有了坚定的意志,就等于给双脚添了一对翅膀。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 struts2异常处理相关的知识,希望对你有一定的参考价值。

  struts 异常处理

  在web开发中 经常要处理异常 这样无论用户进行怎样的操作 都不会把异常页面展现给用户 这样可以给用户一个好的感受 现在来说下struts 进行开发中进行的异常处理

   在servlet中进行异常处理 在web xml中配置文件中加入以下代码:

  <! 处理异常 >

  <error page>

  <error code> </error code>

  <location>/mons/error jsp</location>

  </error page>

  <error page>

  <exception type>java lang NullPointerException</exception type>

  <location>/mons/errornull jsp</location>

  </error page>

   struts 进行异常处理首先需要添加exception拦截器 而默认拦截器栈已经加入了这个拦截器 所以不用特意的声明 struts 的异常映射声明有两种 全局声明和局部声明

  注意:当异常发生时 struts 会根据抛出的异常去异常映射文件中寻找在继承关系上与该异常最接近的映射进行匹配 例如 action抛出一个IOException 这个异常是Exception的直接子类 所以会匹配到Exception映射 再者 action抛出一个BatchUpdateException 它既是SQLException的子类 同时也是Exception的子类 但是它和SQLException的继承关系最接近 所以它会匹配到SQLException

  <struts>

  <package name= default >

  

  <global results>

  <result name= login type= redirect >/Login action</result>

  <result name= Exception >/Exception jsp</result>

  </global results>

  <global exception mappings>

  <exception mapping exception= java sql SQLException result= SQLException />

  <exception mapping exception= java lang Exception result= Exception />

  </global exception mappings>

  

  <action name= DataAccess class= pany DataAccess >

  <exception mapping exception= pany SecurityException result= login />

  <result name= SQLException type= chain >SQLExceptionAction</result>

  <result>/DataAccess jsp</result>

  </action>

  

  </package>

  </struts>

  说明 全局异常也只有在package包下进行配置 只对下面的action起作用 在struts没有如struts中那样的异常 局部异常和全局异常的搭配使用

  用三个例子说明 当访问DataAccess时如果发生异常

  一个java sql SQLException将会chain到另一个action SQLExceptionAction

  一个 pany SecurityException 将会重定向到Login action

  任何其他继承了java lang Exception 的异常将会转至Exception jsp

  值栈中的Exception值 默认情况下 发生异常时 struts 会向值栈中压入一下两个值

  exception  异常对象本身

  exceptionStack

  stack trace的值

  在jsp中可以打印出异常信息

  <%@ page language= java import= java util * pageEncoding= UTF %>

  <%@ taglib prefix= s uri= s %>

  <!DOCTYPE HTML PUBLIC //W C//DTD HTML Transitional//EN >

  <>

  <head>

  <title>系统异常</title>

  </head>

  <body>

  <h >出错信息 请与管理员联系</h >

  <s:actionerror/>

  <p>

  <s:property value= %ssage />

  </p>

  <h >详细信息</h >

  <p>

  <s:property value= %exceptionStack />

  </p>

  </body>

cha138/Article/program/Java/ky/201311/28331

相关参考

知识大全 struts2中使用token避免重复提交

  在strutsxml中  <actionname=registerclass=sunxinstrutsactionRegisterAction>  <!配置异常映射当Regist

知识大全 Struts2请求处理流程及源码分析

Struts2请求处理流程及源码分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Struts

知识大全 Struts2中action和field级别错误处理

Struts2中action和field级别错误处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 学习比较Struts2和Struts1:Struts2完胜

学习比较Struts2和Struts1:Struts2完胜  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一

知识大全 Struts2简介

Struts2简介  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  一什么是Struts?  虽然

知识大全 Struts2注解(旧&新)

Struts2注解(旧&新)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  旧版本使用注解  开

知识大全 Struts2输入校验流程

Struts2输入校验流程  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  类型转换器负责请求参数

知识大全 Struts2分页实现源码

Struts2分页实现源码  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  &

知识大全 Struts2的整体流程(上)

Struts2的整体流程(上)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 Struts2配置文件的配置

Struts2配置文件的配置  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  配置webxml文件