`
cppmayi
  • 浏览: 25796 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Struts2学习笔记5

阅读更多

异常处理后,能够提供友好的用户界面,而不是一些错误的代码信息.

利用struts2的异常处理机制可以很方便的实现异常处理,你不再需要在Action中捕获异常,并抛出相关的异常了,这些都交给拦截器来帮你做了。在struts-default.xml中己经设置了拦截器,因此我们可以直接使用声明式异常.struts2-default-xml声明的拦截器如下:

 

Xml代码 复制代码
  1. <interceptors>  
  2. <interceptor name="exception"    
  3. class="com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor"/>  
  4. </interceptors>  

 


异常的类型可以分为两种:局部异常映射和全局异常映射

 

当Action抛出异常时,会在局部中和全局中查找与之相匹配的异常,如果局部和全局中都有满足的异常映射,以局部的为准. 例子说明:

 

action:

 

Java代码 复制代码
  1. public class LogonAction {   
  2.     private String userName;   
  3.     private String userPwd;   
  4.     public String getUserName() {   
  5.         return userName;   
  6.     }   
  7.     public void setUserName(String userName) {   
  8.         this.userName = userName;   
  9.     }   
  10.     public String getUserPwd() {   
  11.         return userPwd;   
  12.     }   
  13.     public void setUserPwd(String userPwd) {   
  14.         this.userPwd = userPwd;   
  15.     }   
  16.     public String execute() throws Exception{   
  17.         if(userName.equals("callan") && userPwd.equals("fjf")){   
  18.             ActionContext.getContext().getSession().put("userName""callan");   
  19.             return "succee";   
  20.         } else {   
  21.             throw new SQLException(“用户名密码不正确”);   
  22.         }   
  23.     }   
  24. }  

 

配置文件:

Xml代码 复制代码
  1. <package name="logon" extends="struts-default">  
  2.       <!-- global-exception-mappings必需在action的上面 -->  
  3.        <global-exception-mappings>  
  4.             <exception-mapping result="all" exception="java.lang.Exception">  
  5.                 </exception-mapping>  
  6.         </global-exception-mappings>  
  7.         <action name="logon" class="com.LogonAction">  
  8.             <result name="succee">/logon/welcome.jsp</result>  
  9.             <result name="error">/logon/error.jsp</result>  
  10.             <exception-mapping result="sql" exception="java.sql.SQLException"/></exception-mapping>  
  11.             <exception-mapping result="nullPoint" exception="java.lang.NullPointerException"></exception-mapping>  
  12.             <result name="nullPoint">/logon/nullpoint.jsp</result>  
  13.             <result name="sql">/logon/sql.jsp</result>  
  14.              <result name="all">/logon/all.jsp</result>  
  15.         </action>  
  16.     </package>  

 

上面是个用户登陆的action及配置,定义了两个局部异常和一个全局异常
当输入的用户名和密码不为callan和fjf时,会抛出SQLException异常,局部异常配置起作用,会定向到sql.jsp,如果注释局部sql异常,全局异常起作用,定向到all.jsp

 

 

可以使用Struts2的标签来输出异常信息
<s:property value="exception.message"/>
<s:property value="exceptionStack"/>

例如sql.jsp页面

<body>
   <s:property value="exception.message"/>
 </body>
可以输出 用户名密码不正确

分享到:
评论

相关推荐

    Struts2学习笔记

    根据给定的文件信息,以下是对Struts2学习笔记中涉及的关键知识点的详细解析: ### Struts2框架概览 #### MVC模式的理解与演进 Struts2是基于MVC(Model-View-Controller)模式设计的一种Java Web开发框架。在MVC...

    struts2学习笔记总结

    本笔记将全面总结Struts2的核心概念、主要功能以及实际开发中的应用。 一、Struts2概述 Struts2是Apache软件基金会下的一个开源项目,它继承了Struts1的优点并解决了其存在的问题,如性能和灵活性。Struts2的核心是...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    张龙圣思园struts2学习笔记word

    张龙圣思园的Struts2学习笔记,无疑为Java开发者提供了一份宝贵的参考资料,它可能涵盖了Struts2的基础概念、核心组件、配置方式以及实战技巧。 首先,让我们深入了解Struts2的核心特性。Struts2是MVC(Model-View-...

    struts2学习笔记.doc

    ### Struts2学习笔记知识点概览 #### 一、环境搭建 **1.1 Struts2简介** - **Struts2概述**:Struts2是一个开源的MVC框架,它结合了Struts 1.x、WebWork和其他一些框架的优点。Struts2的主要目标是简化Web应用程序...

    struts2学习笔记(1)

    ### Struts2学习笔记知识点详解 #### 一、Struts2框架的基本引入步骤 ##### 1. 导入Struts2相关Jar包 在引入Struts2框架时,首先需要将Struts2的相关Jar包导入到项目的类路径中。这些Jar包通常包括核心库以及其他...

    struts2学习笔记

    struts2学习笔记struts2学习笔记struts2学习笔记

    struts2学习笔记3数据类型转换

    struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换struts2学习笔记3数据类型转换

    struts2学习笔记黑马程序员

    ### Struts2学习笔记之文件上传与Ajax开发 #### Struts2文件上传 **文件上传简介** 文件上传是Web应用中常见的功能之一,Struts2框架内置了对文件上传的支持,使得开发者能够轻松地实现这一功能。为了确保文件...

    struts2四天的学习笔记

    13. ** strut2四天笔记**:这份学习笔记可能涵盖了以上所有知识点,包括如何创建Action,配置struts.xml,使用OGNL表达式,处理异常,以及实践中的各种技巧和最佳实践。 在四天的学习过程中,你应该通过实践和理解...

    struts2 学习笔记 实战

    Struts2是一个强大的MVC(Model-View-Controller)框架,它在Java Web开发中扮演着重要的角色。本文将深入探讨Struts2的核心概念,包括Namespace、标签、Action以及它们在实际开发中的应用。 一、Namespace ...

    struts2学习笔记(详细文字)

    structs2很详细的学习笔记,structs2的建造,工作原理,例子,逐步讲解,纯文字的

    struts 2 学习笔记

    在Struts2中,学习笔记通常会涵盖以下几个关键概念: 1. **源代码查看和Javadoc**:开发者可以通过查看源代码来理解Struts2的工作原理,而Javadoc则提供了API文档,帮助理解类和方法的功能。 2. **包(Package)和...

Global site tag (gtag.js) - Google Analytics