struts2的action可能出现訪问不到,或action报异常等情况,所以须要作一些处理,给用户一个友好的印象。

1. 异常处理  result声明在action中

<action name="book_*" class="com.stone.action.BookAction" method="{1}">
<result name="{1}" type="dispatcher">/WEB-INF/jsp/book_{1}.jsp</result>
<result name="error-result">/WEB-INF/jsp/error_result.jsp</result>
<exception-mapping result="error-result" exception="java.lang.Exception" />
</action>

先在action中,定义了一个名为“error-result”的result,当前在action中捕获到java.lang.Exception时。映射到"error-result",即跳转到error_result.jsp

注:exception能够是随意一个RuntimeException,能够是自己定义的异常。

2. 异常处理 result使用全局result

<global-results>
<result name="exceptionError" type="dispatcher">/WEB-INF/jsp/error/struts_exception.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="exceptionError" exception="java.lang.Exception" />
</global-exception-mappings>

定义一个全局的result,名为exceptionError。全局范围内。捕获到java.lang.Exception时,映射到exceptionError。跳转到相应的jsp。

3. 訪问地址相应的Action不存在时  使用默认的action

<default-action-ref name="error" />
<action name="error">
<result>/WEB-INF/struts_errorAction.jsp</result>
</action>

定义默认的action-引用。引用自后面的action-error。

当解析到訪问的action不存在时。就调用该默认action。

4. 訪问的网页、资源等不存在时 使用web.xml配置

<error-page>
<error-code>404</error-code>
<location>/WEB-INF/404.html</location>
</error-page>

error-code 错误http状态码,location映射到的地址

5.web.xml也能够处理exception,它处理的是Servlet和动态页面上的异常。

<error-page>
<!-- 监听到servlet、动态网页中报的相关异常时才会触发 -->
<exception-type>java.lang.NullPointerException</exception-type>
<location>/WEB-INF/exception.html</location>
</error-page>

JavaEE SSH框架整合(三) struts2 异常、http错误状态码处理的更多相关文章

  1. JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j [转]

    1. 加入log4j和slf4j的jar包 2. web.xml: <context-param> <!--log4j配置地址 --> <param-name>lo ...

  2. SSH框架整合

    SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...

  3. Spring+Hibernate+Struts(SSH)框架整合

    SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...

  4. MVC+Spring.NET+NHibernate .NET SSH框架整合 C# 委托异步 和 async /await 两种实现的异步 如何消除点击按钮时周围出现的白线? Linq中 AsQueryable(), AsEnumerable()和ToList()的区别和用法

    MVC+Spring.NET+NHibernate .NET SSH框架整合   在JAVA中,SSH框架可谓是无人不晓,就和.NET中的MVC框架一样普及.作为一个初学者,可以感受到.NET出了MV ...

  5. SSH框架整合过程总结

    ---------------------siwuxie095                                 SSH 框架整合过程总结         (一)导入相关 jar 包(共 ...

  6. dwr与ssh框架整合教程

    (1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...

  7. ssh框架整合之登录以及增删改查

    1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...

  8. 【SSH框架】之Struts2系列(二)

    微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联 1.Struts2常量配置 (1).Struts2默认常量配置文件路径,如下图: (2).Strut ...

  9. SSH框架整合思想

    --------------------siwuxie095                                 SSH 框架整合思想         1.SSH 框架,即 Struts2 ...

随机推荐

  1. C# 两个获得程序运行路径的函数

    EXE文件的存储路径,不太受调用时环境变量的影响: Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Lo ...

  2. 《Linux命令行大全》系列(一、shell是什么)

    学习 Linux, 从命令开始 图形界面只是让简单事情,更简单 图形化界面能快速处理简单的事情,如打开/关闭文件 然后,随着事务复杂度的提升,图形化界面的操作也就繁琐起来 例如,word中插入一个图片 ...

  3. Linq学习之旅——LINQ查询表达式

    1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. 概述 ...

  4. 两台CISCO2691测试静态路由汇总,浮动静态路由和负载分担静态路由配置

    Dynagen的配置文件内容: #Lab - autostart = False [localhost] [[]] ram = image = C:\Program Files (x86)\Dynam ...

  5. POJ_1220_Nmber Sequence

    上网查了一下进制转换的算法,发现一个性能比较好的:m进制转换成n进制,先用例如62进制ABC转换成10进制,就是用余位c(第一个数余位数值为0)乘以原基数from,加上A表示的数值,然后得到一个数,对 ...

  6. Android 自定义组件随着手指自动画圆

    首先自定义一个View子类: package com.example.androidtest0.myView; import android.content.Context; import andro ...

  7. android-86-Can't create handler inside thread that has not called Looper.prepare()

    以下是Android API中的一个典型的Looper thread实现: //Handler不带参数的默认构造函数:new Handler(),实际上是通过Looper.myLooper()来获取当 ...

  8. bzoj3238

    都LCP了很显然是要用到后缀数组的 显然前面的那个东西是可以直接算出来的 关键在于LCP的和怎么快速的计算 不难想到穷举height[i],然后判断这个height[i]可能成为多少对后缀的LCP 考 ...

  9. WordPress Comment Attachment插件跨站脚本漏洞

    漏洞名称: WordPress Comment Attachment插件跨站脚本漏洞 CNNVD编号: CNNVD-201310-062 发布时间: 2013-10-09 更新时间: 2013-10- ...

  10. DELL笔记本拆机添加内存条

    在笔记本后面拧开7个螺丝 然后打开后盖 掰开卡口,内存条会弹出,此时按住内存条两侧的缺口往外用力就可以拔出内存条. 装入内存条时,先插入内存条,按下即可.