为了我们开发的web应用更加友好,对于一些系统提供的异常信息,往往很不友好,为此,我们很有必要定义自己异常类。下面是用struts2开发自己异常类的步骤。
这里使用的是用户登录,当用户输入正确的用户名和密码时就可以正常进入系统,如果输入的用户名系统不存在,就会给出我们定义异常信息。
1、定义输入文件:exceptionlogin.jsp
body>
<form action="exceptlogin.action",method="post">
username <input name="username",type="text"/><br>
password <input name="password" type="password"/><br>
<input type="submit" value="submit"/>
</form>
</body>
2、定义自己的异常类,UsernameException,PasswordException
public class UsernameException extends Exception {
private String message;
public UsernameException(String message)
{
super(message);
this.message=message;
}
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
}
PasswordException的代码类似,就不贴出来了。
3、struts.xml文件映射
<action name="exceptlogin" class="com.test.action.ExceptLoginAction">
<exception-mapping result="userexcept" exception="com.test.exception.UsernameException"></exception-mapping>
<result name="userexcept">/userexcepion.jsp</result>
<result name="success">/result.jsp</result>
</action>
映射PasswordException的代码类似,就不贴出来了。
4、定义一个继承ActionSurpport的类,覆盖execute方法。
public String execute() throws Exception {
String message="";
if(!"hello".equals(this.getUsername()))
{
message="username is invalid";
throw new UsernameException(message);
}
else if(!"123".equals(this.getPassword()))
{ message="password is invalid";
throw new PasswordException(message);
}
else
{
return SUCCESS;
}
}
5、定义一个输出结果的页面,userexception.jsp passwordexception.jsp.各自加入一行代码即可,代码如下
${exception.message}
6、配置完毕,测试一下把。
分享到:
相关推荐
9. **异常处理**:Struts2提供了一套完整的异常处理机制,允许开发者捕获并优雅地处理运行时错误。 10. **国际化与本地化(I18N & L10N)**:Struts2支持多语言环境,开发者可以通过资源文件轻松实现应用的国际化。...
4. `xwork-core.jar`:XWork是Struts2的基础,提供了许多基础的OOP(面向对象编程)特性,如类型转换、异常处理和国际化支持。 5. `ognl.jar`:OGNL(Object-Graph Navigation Language)是Struts2的默认表达式语言...
8. **异常处理**:Struts2提供了一套完整的异常处理机制,可以统一处理程序中的运行时异常,提高代码的健壮性。 在学习过程中,你可以通过阅读`01.pdf`这份文档,了解到更多关于Struts2的基础知识,包括如何创建...
1. **异常拦截器**:在Struts 2中,我们可以通过编写自定义的拦截器来处理异常。拦截器是Struts框架的核心组件,它们在Action执行前后进行拦截,可以捕获并处理可能出现的异常。通过实现`Interceptor`接口并覆盖`...
- **编写Action类**:根据业务需求创建Action类,继承自Struts2提供的基类或实现特定接口。 - **配置struts.xml**:配置Action的映射,结果页面等信息。 - **创建视图**:使用JSP、FreeMarker或其他模板引擎创建视图...
2. **Interceptor(拦截器)**:拦截器是Struts2处理请求的核心机制,它们在Action调用前后执行,实现了如日志记录、事务管理、权限控制等功能。开发者可以自定义拦截器来满足特定需求。 3. **Plug-in架构**:...
Struts2的核心是Action,它处理来自客户端的请求,并通过Result来展示响应。在本压缩包"struts-2.5.20-min-lib.zip"中,包含了Struts2框架的最小核心库,适合初学者进行基本的学习和实践。 首先,Struts2的版本号...
8. **异常处理**:Struts2提供了一套全面的异常处理机制,允许开发者通过全局和局部异常映射来控制错误页面的显示和异常的处理流程。 9. **国际化与本地化**:Struts2支持多语言环境,可以通过资源文件实现界面文本...
这篇博客文章“Struts2中异常处理(demo)”可能详细介绍了如何在Struts2框架下优雅地处理程序中的异常。 在Java Web开发中,异常是程序运行时遇到的问题,例如无效的用户输入、资源未找到或内部系统错误。Struts2...
- **异常处理**:了解Struts2的全局异常处理机制,如`<global-exception-mappings>`和`<global-results>`。 - **国际化与本地化**:如何实现多语言支持。 - **与Spring集成**:如果项目中使用Spring,学习如何将...
8. **错误处理**:当出现错误时,Struts2 JSON插件会自动捕获异常并将其转换为JSON格式的错误响应,方便前端处理。 总结起来,Struts2的JSON包极大地简化了Java Web应用中JSON数据的处理,使得开发人员可以轻松地...
接着,在Struts2的配置文件中,我们可以使用Spring插件(struts2-spring-plugin)来声明Action类,并指定其由Spring容器创建和管理。 在Action类中,通过@Autowired注解注入SessionFactory,然后通过SessionFactory...
7. **异常处理**:Struts2的拦截器还支持异常处理,通过`exception`元素可以捕获和处理特定的异常,这在处理业务逻辑错误时非常有用。 8. **实践应用**:在实际开发中,拦截器常用于登录检查、权限控制、性能监控等...
在Struts2框架中,异常处理是至关重要的一个部分,它确保了应用程序的稳定性和用户体验。Struts2提供了多种方式来捕获和处理异常,帮助开发者优雅地处理程序中的错误情况。以下是Struts2异常处理的四种主要方法,...
Struts2-number-plugin是Struts2框架的一个插件,主要用于处理数字格式化和验证。Struts2是一个基于MVC设计模式的Java web开发框架,它提供了强大的动作调度、请求处理和视图渲染功能。该插件是Struts2生态的一部分...
通过理解以上知识点,开发者可以更好地掌握Struts2异常处理机制,从而编写出更健壮、更易维护的Web应用。对于想要进一步了解这一主题的人,阅读相关博客,如链接中提到的 Fangguanhong 的博客...
本文将深入探讨"JAVA范例 四)异常处理---编译时异常、运行时异常"这个主题,结合标签"源码"和"工具",我们可以理解这与实际编程实践和可能使用的开发工具如Struts2框架相关。 首先,我们来看编译时异常。编译时...
Struts2负责前端请求处理,Spring提供依赖注入和事务管理,Hibernate则处理数据库操作。通过Spring的AOP,可以实现全局事务管理和异常处理。此外,Spring的MVC框架(Spring MVC)也可以与Struts2互为补充,提供另一...
例如,你可以定义一个Action类及其对应的处理方法,指定处理成功后跳转的页面,以及如何处理异常情况。 此外,Struts2支持OGNL(Object-Graph Navigation Language)表达式语言,它允许在配置文件和视图层之间灵活...
在Struts2中,XWork提供了一个强大的基础,使得开发者可以编写可复用的业务逻辑组件。Javadoc包含了关于Action、Container、Validator等方面的类和接口,这对于深入理解Struts2的工作原理非常有帮助。 **OGNL** `...