`
舟舟同学
  • 浏览: 45626 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

struts2开发10--struts2异常处理机制

阅读更多

在传统的异常处理方式中,开发者一般需要编写大量的try-catch块来处理异常,而在struts2中,提供了一种声明式的异常处理方式,通过配置拦截器来实现异常处理。下面以要求的年龄不能为空和只能为数字来说明struts2中的异常处理,当用户输入的年龄为空或者不为数字时,则拦截异常,并在页面中提示用户异常信息,具体步骤如下

第一步:创建ExceptionTestAction,其代码如下:

package cn.test.action;

import java.util.regex.Pattern;

import com.opensymphony.xwork2.ActionSupport;

public class ExceptionTestAction extends ActionSupport{
 private String age;

 public String execute() throws Exception
 {
  Pattern pattern=Pattern.compile("[0-9]*");
  if(!pattern.matcher(age).matches())
  {
   throw new Exception("年龄必须为数字");
  }
  
  if(age.length()==0)
  {
   throw new Exception("年龄不能为空");
 }
  return "success";
 }
 public String getAge() {
  return age;
 }

 public void setAge(String age) {
  this.age = age;
 }
}
第二步,创建输入页面ExceptionTest.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib  prefix="s" uri="/struts-tags" %>

<font color="red"><s:property value="exception.message"/></font><!--显示异常信息-->
<s:form action="Exception.action">
<s:textfield name="age" label="年龄"></s:textfield>
<s:submit value="提交"></s:submit>
</s:form>

第三步,创建成功Esuccess.jsp

<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@ taglib prefix="s"  uri="/struts-tags" %>
<s:property value="age"/>

第四步,配置struts.xml文件

<action name="Exception" class="cn.test.action.ExceptionTestAction" method="execute">

                              <!--配置局部异常映射-->

                 <!--exception用来指定出现异常的类型-->

                <!--result用来指定struts2返回给用户的视图-->
        <exception-mapping result="error" exception="java.lang.Exception"></exception-mapping>
        <result name="error">/WEB-INF/jsp/ExceptionTest.jsp</result>
        <result name="success">/WEB-INF/jsp/Esuccess.jsp</result>
        </action>

完成,部署项目,如果在年龄的输入框中不输入数字,则会在页面上显示“年龄必须为数字”,如果不输入,则会显示“年龄不能为空”。

0
5
分享到:
评论
1 楼 bewithme 2016-04-26  
小朋友放弃struts吧

相关推荐

    struts2-core-2.3.7源码

    4. **StrutsExceptionResolver**: 处理在Struts2框架内抛出的异常,提供自定义错误页面的能力。 5. **StrutsResultSupport**: 作为所有结果类型的基类,提供了结果处理的基本方法。 6. **Interceptor栈配置**: 在`...

    struts-2.5所有jar包

    - **异常处理**:Struts2提供了全局的异常处理机制,可以通过全局结果类型来处理未捕获的异常。 总的来说,Struts2.5提供的所有jar包是一个完整的框架环境,允许开发者快速构建和部署Java Web应用程序。理解并掌握...

    struts2-core-2.3.32和xwork-core-2.3.32

    Struts2是一个非常著名的Java Web开发框架,它基于MVC(Model-View-Controller)设计模式,极大地简化了企业级应用的开发流程。Struts2的核心是Action类,它负责处理用户请求,与业务逻辑交互,并将结果传递给视图...

    struts2-core-2.1.8.1.jar

    Struts2是一个非常著名的Java ...开发者可以利用Struts2的Action、Interceptor、Result等机制,结合Apache Commons库和FreeMarker模板引擎,轻松地管理业务逻辑、处理用户输入、呈现视图,从而提高开发效率和应用质量。

    struts2-core-2.1.8.1 xwork-core-2.1.6源码

    7. **异常处理(Exception Handling)**:在`struts2-core-2.1.8.1`中,异常处理机制允许开发者自定义错误页面和错误处理策略。`com.opensymphony.xwork2.exception`包下包含了各种异常类,而`...

    struts2-showcase.rar

    10. **S2-005安全漏洞**:Struts2-showcase还包含了一些已知的安全漏洞实例,用于教育开发者如何避免和修复这些漏洞。 通过深入研究和分析struts2-showcase项目,开发者能够全面了解Struts2的特性和最佳实践,从而...

    struts2-core-2.1.6.jar

    8. **异常处理**:Struts2提供了全局异常处理机制,可以在框架层面统一处理程序运行时可能出现的异常,提供友好的错误提示。 9. **安全问题**:虽然Struts2-core-2.1.6版本较旧,但其安全性问题不容忽视。历史上,...

    struts2-core-2.0.11.jar

    9. **异常处理**:Struts2提供了一套完整的异常处理机制,允许开发者捕获并优雅地处理运行时错误。 10. **国际化与本地化(I18N & L10N)**:Struts2支持多语言环境,开发者可以通过资源文件轻松实现应用的国际化。...

    struts-2.3.15.3所以jar包

    8. **xwork-core.jar**:XWork是Struts 2的前身,它的核心功能被Struts 2继承,包括Action、Result、Interceptor等概念,以及类型转换、异常处理等机制。 9. **commons-lang3.jar, commons-logging.jar, log4j.jar*...

    struts2-upload-jar

    Struts2提供了一套完整的异常处理机制,你可以定义不同的结果类型来处理这些异常情况。 8. **下载功能**:Struts2-upload-jar也支持文件下载。你可以创建一个Action来处理下载请求,通过设置响应头信息,如Content-...

    struts2-core-lib.rar

    4. `xwork-core.jar`:XWork是Struts2的基础,提供了许多基础的OOP(面向对象编程)特性,如类型转换、异常处理和国际化支持。 5. `ognl.jar`:OGNL(Object-Graph Navigation Language)是Struts2的默认表达式语言...

    Struts2全部jar包

    10. **类型转换**:Struts2提供了类型转换机制,自动将请求参数转换为Action类的属性类型,简化开发工作。 在使用Struts2全部jar包时,开发者需要将这些库文件加入到项目的类路径中,通常包括Struts2的核心库、依赖...

    struts2-2.2.1-all 版本

    8. **异常处理**:通过全局异常映射,Struts2可以统一处理应用程序中的异常,提供一致的错误页面。 9. **国际化支持**:Struts2提供了方便的国际化功能,通过资源包(Properties文件)可以轻松实现多语言环境。 10...

    struts2---jar包

    同时,Struts2还提供了丰富的国际化、异常处理和安全特性,以满足复杂的企业级需求。 总之,"struts2---jar包"是构建基于Struts2框架的应用所必不可少的组件,它封装了大量的功能,让开发者能够专注于业务逻辑的...

    struts2-----之一

    8. **异常处理**:Struts2提供了一套完整的异常处理机制,可以统一处理程序中的运行时异常,提高代码的健壮性。 在学习过程中,你可以通过阅读`01.pdf`这份文档,了解到更多关于Struts2的基础知识,包括如何创建...

    struts-2.3.31-all.zip

    8. **异常处理**:Struts2提供了一套全面的异常处理机制,能够优雅地处理运行时异常并生成相应的错误页面。 在使用struts-2.3.31-all.zip压缩包时,通常会包含以下组件: - `struts2-core.jar`:框架核心库,包含...

    Struts2 开发包

    9. **异常处理**:Struts2提供了一套完整的异常处理机制,允许开发者定义全局或Action级别的异常映射,以优雅地处理程序中的错误。 10. **国际化与本地化**:Struts2支持多语言环境,开发者可以通过资源包...

    struts-2.5.20-all.zip

    6. **Plug-in机制**:Struts2的插件系统允许扩展框架功能,例如,struts2-convention-plugin自动映射Action和结果页面,struts2-dojo-plugin则提供 dojo库的支持。 **Struts2的安全问题与应对策略** Struts2的某些...

    struts-2.5.16-min-lib

    - **Struts-2.5.16.jar**:这是Struts2框架的核心库,包含了Action、Result、Interceptor等核心概念的实现,以及配置管理、异常处理等关键功能。 - **xwork-core-2.5.16.jar**:XWork是Struts2的基础,提供了...

    Struts2 技术内幕-深入解析Struts2架构设计与实现原理

    8. **异常处理**:Struts2提供了一套全面的异常处理机制,允许开发者通过全局和局部异常映射来控制错误页面的显示和异常的处理流程。 9. **国际化与本地化**:Struts2支持多语言环境,可以通过资源文件实现界面文本...

Global site tag (gtag.js) - Google Analytics