struts2学习笔记之十二:struts2对异常的自动处理

发布时间:2016-12-31 7:20:03编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"struts2学习笔记之十二:struts2对异常的自动处理 ",主要涉及到struts2学习笔记之十二:struts2对异常的自动处理 方面的内容,对于struts2学习笔记之十二:struts2对异常的自动处理 感兴趣的同学可以参考一下。

在UserAction类中引发异常,但是不处理
package com.djoker.struts2;import java.util.Date;import org.apache.struts2.ServletActionContext;import com.opensymphony.xwork2.Action;public class UserAction {    private String username;        private String password;        private Date createDate;    public String getUsername() {        return username;    }    public void setUsername(String username) {        this.username = username;    }    public String getPassword() {        return password;    }    public void setPassword(String password) {        this.password = password;    }    public Date getCreateDate() {        return createDate;    }    public void setCreateDate(Date createDate) {        this.createDate = createDate;    }        public String addUser() throws Exception {        if("admin".equals(username)){            throw new UserNotFoundException("账号没有找到");        }        ServletActionContext.getRequest().setAttribute("username", username);        ServletActionContext.getRequest().setAttribute("password", password);        ServletActionContext.getRequest().setAttribute("createDate", createDate);        return Action.SUCCESS;    }}
UserNotFoundException.java类
package com.djoker.struts2;public class UserNotFoundException extends RuntimeException {    public UserNotFoundException() {        super();        // TODO Auto-generated constructor stub    }    public UserNotFoundException(String message, Throwable cause) {        super(message, cause);        // TODO Auto-generated constructor stub    }    public UserNotFoundException(String message) {        super(message);        // TODO Auto-generated constructor stub    }    public UserNotFoundException(Throwable cause) {        super(cause);        // TODO Auto-generated constructor stub    }}
配置文件中可以配置全局异常和局部异常
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE struts PUBLIC    "-//Apache Software Foundation//DTD Struts Configuration 2.1.7//EN"    "http://struts.apache.org/dtds/struts-2.1.7.dtd"><struts>    <package name="user" extends="struts-default" namespace="/user">        <global-exception-mappings>            <exception-mapping result="error" exception="com.djoker.struts2.UserNotFoundException"></exception-mapping>        </global-exception-mappings>        <action name="*User" class="com.djoker.struts2.UserAction" method="{1}User">            <exception-mapping result="error" exception="com.djoker.struts2.UserNotFoundException"></exception-mapping>            <result>/success.jsp</result>            <result name="error">/error.jsp</result>        </action>    </package></struts>
错误后的跳转页面error.jsp,可以使用el表达式取得异常信息
<%@ page language="java" contentType="text/html; charset=GB18030"    pageEncoding="GB18030"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body><h1>登录失败</h1><!-- 获取异常信息 -->${exception.message }<br><!-- 获取异常堆栈信息 -->${exceptionStack }<br></body></html>


上一篇:从输入网址到页面呈现都发生了什么?
下一篇:Java Swing中键盘事件无法响应

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。

好贷网好贷款