Java的Struts框架的异常处理
Struts提供了一个更简单的方式来处理未捕获的异常,并将用户重定向到一个专门的错误页面。
Struts的异常处理所使用的“exception”拦截容易。“exception”拦截器作为默认的栈的一部分,所以不必做任何额外的配置。它可为准备使用的盒。
根据元素出现位置的不同,异常映射又可分为两种:
局部异常映射:将元素作为元素的子元素配置;
全局异常映射:将元素作为元素的子元素配置;
全局异常映射对所有的Action都有效,但局部异常映射仅对该异常映射所在的Action有效。
如果局部异常映射和全局异常映射配置了同一个异常类型,在元素内的局部异常映射将覆盖全局异常映射。
有异常往外抛即可。你也可以在方法里面抛,比如throw SQLException。
我们可以使用Struts2的标签输出异常信息:
输出异常的meage属性信息: 输出异常堆栈信息:。
有了处理系统异常的基础,我们来看一看自定义异常:
packagecom.exception ; public cla MyException extends Exception {
private String meage;
publicMyException(String meage) { super(meage); this.meage = meage ; } public String getMeage() { return meage; } public void setMeage(String meage) { this.meage = meage; } }
public String execute() throws Exception { if(!\"hello\".equals(usename) || !\"world\".equals(paword)) { throw new MyException(\"用户名或密码错误,您发现了吧!\"); } return \"succe\" ; }
在action配置中的异常处理
在全局配置中的异常处理
/result.jsp
错误页面error.jsp
<%@ page language=\"java\" import=\"java.util.*\" pageEncoding=\"UTF-8\"%> <%@ taglib prefix=\"s\" uri=\"/struts-tags\"%>