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>
时间: 2024-07-30 15:00:32

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

JavaEE SSH框架整合(二) struts2 加载本地dtd文件,action配置

1. 加载struts2的dtd文件,使struts.xml不用联网就能验证,并在eclipse中有提示 在src下创建struts.xml: <?xmlversion="1.0"encoding="UTF-8"?> <!DOCTYPE strutsPUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.3//EN" "http://strut

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

1. 加入log4j和slf4j的jar包 2. web.xml: [html] view plaincopyprint? <context-param> <!--log4j配置地址 --> <param-name>log4jConfigLocation</param-name> <!-- <param-value>/WEB-INF/classes/log4j.properties</param-value> --> &l

JavaEE SSH框架整合(四) 日志处理Spring结合 log4j、slf4j

1. 加入log4j和slf4j的jar包 2. web.xml: <context-param> <!--log4j配置地址 --> <param-name>log4jConfigLocation</param-name> <!-- <param-value>/WEB-INF/classes/log4j.properties</param-value> --> <param-value>classpath:l

JavaEE SSH框架整合(一) jar包导入 web.xml配置

最近买了一个阿里的云服务器.服务端是linux命令行环境,tomcat.mysql啥的都整好了. 就想自己写个web后台,制造一些网络数据啥的,给我的移动app-demo访问玩. 虽然以前学过web相关内容,但已经离开它三年多了,忘光光了. 特在此记录下学习.开发的一些流程,遇到的一些问题,和一些解决的方法. 1. 去struts官网下载了最新的完整zip.struts2.3.20 2. 在网络上下载了spring-framework3.2.8的完整zip.(官方最新4.x需要jdk1.8,我本

SSH框架整合

ssh框架整合步骤如下 提示:myeclipse环境.工程环境.tomcat环境的jdk保持一致 1.新建一个工程,把工程的编码为utf-8 2.把jsp的编码形式改成utf-8 3.把jar包放入到lib下 4.建立三个src folder src 存放源代码 config 存放配置文件 hibernate 存放hibernate的配置文件 spring 存放spring的配置文件 struts 存放struts的配置文件 struts.xml test 存放单元测试 5.在src下建立包 c

SSH框架简化(struts2+spring+hibernate)

目的: 通过对ssh框架有了基础性的学习,本文主要是使用注解的方式来简化ssh框架的代码编写. 注意事项: .运行环境:Windows 8-64位,Eclipse(开发工具),jdk1.8.0_91,Tomcat 8.0,struts-2.3.30-apps,spring-framework-4.2.2.RELEASE,hibernate-release-5.2.2.Final,mysql数据库 一.  在eclipse右键新建一个项目并勾上生成web.xml文件 二.导入struts.spri

SSH框架整合过程总结

---------------------siwuxie095 SSH 框架整合过程总结 (一)导入相关 jar 包(共 41 个) 1.导入 Spring 的核心 jar 包和日志相关的 jar 包(6 个) Commons Logging 下载链接: http://commons.apache.org/proper/commons-logging/download_logging.cgi LOG4J 下载链接: https://www.apache.org/dist/logging/log4

SSH框架整合总结

SSH 框架为 Struts + Spring + Hibernate 的一个集成框架,是目前较流行的一种 web 应用程序开源框架. 集成SSH框架的系统从职责上分为四层:表示层.业务逻辑层.数据持久层和域模块层,以帮助开发人员在短期内搭建结构清晰.可复用性好.维护方便的Web应用程序.其中使用Struts作为系统的整体基础架构,负责MVC的分离,在Struts框架的模型部分,控制业务跳转,利用Hibernate框架对持久层提供支持,Spring做管理,管理struts和hibernate.具

【课程分享】jQuery2.0应用开发:SSH框架整合jQuery2.0实战OA办公自动化(VSS、operamasks-UI框架)

我的qq是2059055336,对这个课程有兴趣的可以加我qq联系. 课程下载地址:链接:http://pan.baidu.com/share/link?shareid=395438909&uk=3611155194 密码:mlvl 课程下载地址:http://www.kuaipan.cn/file/id_192202874577496484.htm?source=1 一.本课程是怎么样的一门课程(全面介绍)    1.1.课程的背景 jQuery 2.0 正式版发布,不在支持 IE 6/7/8