最好的方式是通过声明管理异常处理

1Action里面的execute()方法抛出所有异常:public String execute() throws Exception{}
2声明异常捕捉
    配置struts.xml中的异常映射
   <exception-mapping../>元素
               需指定两个属性:
                                               |--exception    异常类型
                                               |--result           逻辑视图名
    分--|--局部    action元素里
          |--全局    global-exception-mapping元素里
         注意:全局异常映射的result属性值通常不用使用局部结果,局部异常映射的result值既可以使用全局结果也可以用局部结果。
 
 输出异常信息:

        <s:property value="exception"/>输出异常对象本身
<s:property value="exception.message"/>
<s:property value="exceptionStack">输出异常堆栈信息

 Action里面    
 

 public String execute() throws Exception
{
if (getUsername().equalsIgnoreCase("user"))
{
throw new MyException("自定义异常");
}
if (getUsername().equalsIgnoreCase("sql"))
{
throw new java.sql.SQLException("用户名不能为SQL");
}
if (getUsername().equals("crazyit.org")
&& getPassword().equals("leegang") )
{
addActionMessage("哈哈,服务器提示!");
return SUCCESS;
}
return ERROR;
}

struts.xml里面
 
<global-exception-mappings>
<!-- 当Action中遇到SQLException异常时,
系统将转入name为sql的结果中-->
<exception-mapping exception="java.sql.SQLException" result="sql"/>
<!-- 当Action中遇到Exception异常时,
系统将转入name为root的结果中-->
<exception-mapping exception="java.lang.Exception" result="root"/>
</global-exception-mappings> <action name="login" class="org.crazyit.app.action.LoginAction">
<!-- 定义局部异常映射, 当Action中遇到MyException异常时,
系统将转入name为my的结果中-->
<exception-mapping exception="org.crazyit.app.exception.MyException"
result="my"/>
<!-- 定义三个结果映射 -->
<result name="my">/WEB-INF/content/exception.jsp</result>
<result name="error">/WEB-INF/content/error.jsp</result>
<result>/WEB-INF/content/welcome.jsp</result>
</action>

配置Struts2的异常处理的更多相关文章

  1. Struts2的异常处理

    Struts2的异常处理 1.异常处理机制(1)发送请求到控制器(Action); (2)Action出现异常后,依照所捕捉的不同异常转入不同的视图资源. 2.异常捕捉 (1)在Action的处理逻辑 ...

  2. 【struts2】Struts2的异常处理

    在Action中execute方法声明为:public String execute() throws Exception,这样,Action可以抛出任何Exception. 1)自己实现异常处理 我 ...

  3. (十)struts2的异常处理机制

    成熟的MVC框架应该提供成熟的异常处理机制.当然可以在方法中手动捕捉异常,当捕捉到特定异常时,返回特定逻辑视图名. 这种方式非常繁琐,需要在方法中写大量try catch块,最大的缺点还是一旦需要改变 ...

  4. 配置struts2+spring,springmvc

    Struts2+Spring整合 一.spring负责注入,struts2负责它自己的工作.这样不是很符合spring作为ioc容器的全部功能,不推荐. 二.spring负责全部bean和struts ...

  5. Eclipse配置Struts2.x

    问了我同学现在JavaWeb主流框架是哪些.他说基本框架是SSH,struts2+spring+hibernate,流行的是SSM,springmvc+spring+mybatis,原本计划学下Str ...

  6. (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂

    (原创)超详细一步一步在eclipse中配置Struts2环境,无基础也能看懂 1. 在官网https://struts.apache.org下载Struts2,建议下载2.3系列版本.从图中可以看出 ...

  7. 在web.xml中配置struts2拦截器

    <!-- 配置Struts2的核心的过滤器 --> <filter> <filter-name>struts2</filter-name> <fi ...

  8. MyEclipse如何配置Struts2源码的框架压缩包

    1.MyEclipse如何配置Struts2源码的框架压缩包 如本机的Struts2框架压缩包路径为:D:\MyEclipseUserLibraries\struts\struts-2.3.15.3- ...

  9. eclipse中配置struts2出现There is no Action mapped for namespace [/] and action name [Login] associated wi

    下午在eclipse中配置struts2时报: There is no Action mapped for namespace [/] and action name [Login] associat ...

随机推荐

  1. 兼容的placeholder属性

    作为一个.net后台开发的程序猿,博客里既然大多都是前端相关的博文.是不是该考虑换方向了,转前端开发得了 ... 小小吐槽一下,近期受该不该跳槽所困惑,我有选择困难症! 继续前端,这次说一下输入框 p ...

  2. iptables的实战整理

    一.iptables使用场景:             内网情况下使用:在大并发的情况下不要开iptables否则影响性能 二.iptables出现下面的问题:             在yewufa ...

  3. Android开发艺术探索(三)——View的事件体系

    一.View基础知识 主要介绍内容有:View的位置参数.MotionEvent和TouchSlope对象.VelocityTracker.GestureDetector和Scroller对象 1.什 ...

  4. MongoDB 复制集 (一) 成员介绍

       一 MongoDB 复制集简介          MongoDB的复制机制主要分为两种:          Master-Slave    (主从复制)      这个已经不建议使用       ...

  5. ffmpeg的logo, delogo滤镜参数设置

    FFmpeg的添加logo,去logo滤镜的组合共有三种方式: 1. 只有添加logo滤镜 $ ./ffmpeg -i INPUT.FLV  \ -vf movie=/opt/logo.png[log ...

  6. TreeMap简单simple

    TreeMap能够按照主键对里面的数据进行排序,基于上篇文章:java集合类之TreeMap中有关于TreeMap内部实现的详细介绍.本文主要是写了些使用TreeMap的简单demo. 要想实现Tre ...

  7. HDU1711-----Number Sequence-----裸的KMP

    题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1711 题目意思: 找出b在a中的起始位置,没有则是-1 解题思路: 裸的KMP,不多说 不会KMP的话 ...

  8. Android之PreferenceActivity 详解

    看到很多书中都没有对PreferenceActivity做介绍,而我正好又在项目中用到,所以就把自己的使用的在这总结一下,也方便日后查找. PerferenceActivity是什么,看下面的截图: ...

  9. Linux下设置最大文件打开数nofile及nr_open、file-max

    在开发运维的时候我们常常会遇到类似“Socket/File: Can’t open so many files”,“无法打开更多进程”,或是coredump过大等问题,这些都可以设置资源限制来解决.今 ...

  10. 两款Mac下的视频下载利器

    1 iSkysoft iTube Studio 2.jaksta mac