struts2异常处理

在struts2中提供了一些常用的拦截器,其中就包括对异常处理的拦截器,我们直接声明使用即可,下面来看个例子。

struts.xml

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
        "http://struts.apache.org/dtds/struts-2.0.dtd">
<struts>
    <!-- 对默认拦截器的引入 -->
    <include file="struts-default.xml" />
    <package name="eticket" extends="struts-default">
        <!-- 全局异常映射 -->
        <global-exception-mappings>
            <exception-mapping result="error" exception="java.lang.Exception">   
            </exception-mapping>
        </global-exception-mappings>
        <action name="airTicketAction" class="AirTicketAction">
            <result>airticket/airticket.jsp</result>
            <result name="detail">airticket/airticketdetail.jsp</result>
            <result name="order">airticket/airticketorder.jsp</result>
            <result name="error">error.jsp</result>
            <!-- 局部异常映射 -->
            <exception-mapping result="nullPoint" exception="java.lang.NullPointerException"></exception-mapping>  
            <result name="nullPoint">error.jsp</result>  
        </action>
    </package>
</struts>


下面是一个action,产生一个异常,用于测试

AirTicketAction.java

import com.opensymphony.xwork2.ActionSupport;
@SuppressWarnings("serial")
public class AirTicketAction extends ActionSupport {
    @Override
    public String execute() throws Exception {
        // TODO 自动生成方法存根
        //产生一个除数为0的异常
        int i = 1/0;
        return SUCCESS;
    }
}


用于显示的jsp页面

error.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@ taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><s:text name="login.title"></s:text></title>
</head>
<body>
<h1>出错了!</h1>
<s:property value="exception.message" />
<s:property value="exceptionStack" />
</body>
</html>


很简单,配置完成可以使用了。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

胡矣

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值