SSH-struts2的异常处理
2015-06-30 23:13
405 查看
在学习j2se的时候学习过利用java的exception类去处理异常。在struts2框架中也提供了对于异常的处理,简单说就是当Action发生异常时,可以在struts2.xml文件中进行配置,将页面跳转进行调整,给用户一个更人性化的反馈。
在struts2的异常处理中,分为两种异常处理,一种是全局的:所有Action出现异常都可以跳转到此页面。另一种是局部的:指定某一个Action异常跳转到此页面。
局部异常处理
在struts2.xml中在exception-mapping节点中指定result属性名称;exception属性中指定异常类,此类要继承exception。
result节点中指定name属性,以及异常发生后跳转的页面。
全局异常处理
global-results节点中指定异常跳转的页面;global-exception-mappings中指定异常类。
我们即可以在Action中定义异常与结果,也可以定义全局的异常与结果,局部的优先级要大于全局的,如果定义全局的那么可以为所有的Action所公用,而局部的异常与结果只能被当前的Action所独享。
在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所独享。
相关文章推荐
- Java-在线聊天系统-非线程
- Spring boot 整合spring Data JPA+Spring Security+Thymeleaf框架(上)
- MAC常用java开发软件
- Java学习日记之方法
- java中的set集合
- 黑马程序员-java-小天教你使用eclipse
- java中的“异常”
- java通信聊天室简单命令行版
- Java 权限框架 Shiro 实战一:理论基础
- java的IO流来实现一个最简单的文件复制
- java构造器小结
- java集合
- Spring的IOC容器—Bean的自动装配
- 《Java程序设计》第17周课程设计:《猜猜看》游戏 第二天
- JavaSE学习笔记三
- java 打印99乘法表方式
- java web文件上传-无框架
- java常用集合
- java中的list集合
- JAVA “Run as administrator” “UAC disabled” alternative solution