1.编程式异常
*截获异常
*创建相应的异常消息
*传递异常消息
*转向相应的页面处理异常
2.声明式异常(自动处理异常):
sample:
*.properties 中
user.not.found=用户不能找到
user.password.error=密码错误
struts-config.xml 中 (其中也有全局异常)
<action
input="/login.jsp" //出现异常或错误时 默认 转向的页面,即 path 没有配置时
>
<exception key="user.not.found" type="com.java_min.UserNotFoundException" /> //此标签一定要放在 <forward> 标签之前,哪个 action 抛出的异常,就加在那个<action>标签之中, key 值就是国际化资源文件中的 key 的值,type 的值是 异常类的完整路径,此标签的意思是,如果发生了,type中指定的异常时,那么我们就应该提示 key 中指定的 消息文本。
<exception key="user.password.error" type="com.java_min.PasswordErrorException" path="" /> //path 属性用于指定出现该异常时应该转向的页面
</action>
UserManager.java 中
public void login(String username , String password){
if(!"admin".equals(username)){
throw new UserNotFoundException();
}
if(!"admin".equals(passord)){
throw new PasswordErrorException();
}
}
jsp 页面上:
可以通过 <html:errors /> 取错误消息,也可以通过 <html:messages /> 取错误消息