博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
struts2全局结果与异常处理(五)
阅读量:4261 次
发布时间:2019-05-26

本文共 2817 字,大约阅读时间需要 9 分钟。

一、struts2局部结果与异常

  1、以用户登录为例

     登录界面login.jsp

      

用户登录

username:
password:
   定义自定义的登录异常类

public class LoginException extends Exception{	private String message;		public LoginException(String message)	{		super(message);		this.message = message;	}	public LoginException()	{		super();	}	public String getMessage()	{		return message;	}	public void setMessage(String message)	{		this.message = message;	}}
    对应的处理action:LoginAction

public class LoginAction extends ActionSupport{	private String username;	private String password;	public String execute()throws Exception	{		//处理异常		if("liusheng".equals(this.username))		{			throw new LoginException("username is error");		}		if("1234".equals(this.password))		{			throw new LoginException("password is error");		}		return SUCCESS;	}	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;	}}

  局部异常配置

      如果不进行异常的配置,当出现异常时,会将错误信息的堆栈信息打印出来,进行配置后将会出现配置的信息页面

index.jsp
exception.jsp

二、struts2全局结果与异常

  定义另一个异常处理类
public class PasswordException extends Exception{	private String message;	public PasswordException(String message)	{		super(message);		this.message = message;	}	public PasswordException()	{		super();	}	public String getMessage()	{		return message;	}	public void setMessage(String message)	{		this.message = message;	}}
  定义出现密码错误时抛出上述定义的异常
public class LoginAction extends ActionSupport{	private String username;	private String password;	public String execute()throws Exception	{		//处理异常		if(!"liusheng".equals(this.username))		{			throw new LoginException("username is error");		}		if(!"1234".equals(this.password))		{			throw new PasswordException("password is error");		}		return SUCCESS;	}	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;	}}
  定义出现密码错误抛出全局异常
passexception.jsp
index.jsp
exception.jsp
 说明:

     对于struts.xml文件的结果配置来说,局部要优于全局。

     我们即可以再Action中定义异常与结果,也可以定义全局的异常与结果,局部总是优于全局的,如果定义成全局,那么可以为所有的Action所公用,而局部的异常与结果只能被当前的Action所独享,不能为其他Action所共享。

转载地址:http://uexei.baihongyu.com/

你可能感兴趣的文章
谷歌面试题,你敢回答吗。
查看>>
Android 安全攻防(一):SEAndroid的编译
查看>>
Android 安全攻防(二): SEAndroid bionic
查看>>
cuda如何做软连接切换
查看>>
小飞机的一些设置解释
查看>>
目标检测里正负样本和数据增广
查看>>
python和C++的交互方式
查看>>
ubuntu快捷键
查看>>
npaint (31M)-图片去水印等
查看>>
学英语以及中文快速阅读的启迪,从“为什么全世界只有中日两个国家弹幕视频网站成为流行?”说开去
查看>>
什么是人工神经网络
查看>>
神经网络的发展历史
查看>>
TED演讲:Jeff Hawkins.大脑的工作原理是什么
查看>>
所谓的语义信息
查看>>
Predictive learning vs. representation learning
查看>>
android SDK工具下载
查看>>
Hibernateday02表的唯一外键
查看>>
Hibernateday06 SQLQuery 和NameQuery
查看>>
Windows命令行提示
查看>>
梳理《前目的地》
查看>>