JavaEE SSH框架整合(三) struts2 异常、http错误状态码处理
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错误状态码处理的更多相关文章
- JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j [转]
1. 加入log4j和slf4j的jar包 2. web.xml: <context-param> <!--log4j配置地址 --> <param-name>lo ...
- SSH框架整合
SSH框架整合 一.原理图 action:(struts2) 1.获取表单的数据 2.表单的验证,例如非空验证,email验证等 3.调用service,并把数据传递给service Service: ...
- Spring+Hibernate+Struts(SSH)框架整合
SSH框架整合 前言:有人说,现在还是流行主流框架,SSM都出来很久了,更不要说SSH.我不以为然.现在许多公司所用的老项目还是ssh,如果改成流行框架,需要成本.比如金融IT这一块,数据库dao层还 ...
- 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 ...
- SSH框架整合过程总结
---------------------siwuxie095 SSH 框架整合过程总结 (一)导入相关 jar 包(共 ...
- dwr与ssh框架整合教程
(1)dwr与ssh框架整合教程dwr框架介绍. DWR(Direct Web Remoting)是一个用于改善web页面与Java类交互的远程服务器端Ajax开源框架,可以帮助开 发人员开发包含AJ ...
- ssh框架整合之登录以及增删改查
1.首先阐述一下我用得开发工具,myeclipse2017+oracle,所以我的基本配置步骤可能不一样,下面我用几张图来详解我的开发步骤. ---1先配置structs (Target 选择apac ...
- 【SSH框架】之Struts2系列(二)
微信公众号:compassblog 欢迎关注.转发,互相学习,共同进步! 有任何问题,请后台留言联 1.Struts2常量配置 (1).Struts2默认常量配置文件路径,如下图: (2).Strut ...
- SSH框架整合思想
--------------------siwuxie095 SSH 框架整合思想 1.SSH 框架,即 Struts2 ...
随机推荐
- C# 两个获得程序运行路径的函数
EXE文件的存储路径,不太受调用时环境变量的影响: Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Lo ...
- 《Linux命令行大全》系列(一、shell是什么)
学习 Linux, 从命令开始 图形界面只是让简单事情,更简单 图形化界面能快速处理简单的事情,如打开/关闭文件 然后,随着事务复杂度的提升,图形化界面的操作也就繁琐起来 例如,word中插入一个图片 ...
- Linq学习之旅——LINQ查询表达式
1. 概述 2. from子句 3. where子句 4. select子句 5. group子句 6. into子句 7. 排序子句 8. let子句 9. join子句 10. 小结 1. 概述 ...
- 两台CISCO2691测试静态路由汇总,浮动静态路由和负载分担静态路由配置
Dynagen的配置文件内容: #Lab - autostart = False [localhost] [[]] ram = image = C:\Program Files (x86)\Dynam ...
- POJ_1220_Nmber Sequence
上网查了一下进制转换的算法,发现一个性能比较好的:m进制转换成n进制,先用例如62进制ABC转换成10进制,就是用余位c(第一个数余位数值为0)乘以原基数from,加上A表示的数值,然后得到一个数,对 ...
- Android 自定义组件随着手指自动画圆
首先自定义一个View子类: package com.example.androidtest0.myView; import android.content.Context; import andro ...
- android-86-Can't create handler inside thread that has not called Looper.prepare()
以下是Android API中的一个典型的Looper thread实现: //Handler不带参数的默认构造函数:new Handler(),实际上是通过Looper.myLooper()来获取当 ...
- bzoj3238
都LCP了很显然是要用到后缀数组的 显然前面的那个东西是可以直接算出来的 关键在于LCP的和怎么快速的计算 不难想到穷举height[i],然后判断这个height[i]可能成为多少对后缀的LCP 考 ...
- WordPress Comment Attachment插件跨站脚本漏洞
漏洞名称: WordPress Comment Attachment插件跨站脚本漏洞 CNNVD编号: CNNVD-201310-062 发布时间: 2013-10-09 更新时间: 2013-10- ...
- DELL笔记本拆机添加内存条
在笔记本后面拧开7个螺丝 然后打开后盖 掰开卡口,内存条会弹出,此时按住内存条两侧的缺口往外用力就可以拔出内存条. 装入内存条时,先插入内存条,按下即可.