struts中的action有的时候不用try catch捕获异常,而将错误直接抛到jsp页面,
这样致使jsp直接把一大堆错误信息输出到页面或弹出异常信息,以下为解决方法:
测试的Actioin
public String execute() throws Exception {
if(true)
throw new Exception("出错咯.......");
return super.execute();
}
struts.xml配置
<global-results>
<result name="exception">/jsp/exception.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping result="exception" exception="java.lang.Exception"></exception-mapping>
</global-exception-mappings>
jsp页面
<%@ page language="java" contentType="text/html; charset=GBK"%>
<%@ page import="org.apache.log4j.Logger" %>
<%@page import="java.text.SimpleDateFormat"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<html>
<head>
<title>异常处理页面</title>
</head>
<body>
<!--
<s:property value="exceptionStack"/>
<s:property value="exception.message"/>
-->
系统异常,请稍候再试...
<%
final Logger logger = Logger.getLogger(getClass());
logger.error("系统异常>>>"+new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new java.util.Date())+">>>"+request.getAttribute("exception.message"));
%>
</body>
</html>
这样页面看到的是:系统异常,请稍候再试
后台记录日志 ERROR exception_jsp : 系统异常>>>2010-04-22 18:58:20>>>出错咯......
分享到:
相关推荐
Struts2作为一款流行的Java Web框架,其异常处理机制是其核心功能之一,它使得开发者能够优雅地管理和处理应用程序中的异常情况,提供了一种统一的错误处理方式,从而提高用户体验并增强程序的健壮性。 在Struts2...
在处理异常时,记录详细的错误日志对调试至关重要。Struts2集成了Log4j等日志框架,开发者可以配置日志级别,以便在开发和生产环境中获取合适的日志信息。 10. **最佳实践** - 应该尽量避免在Action方法中使用`...
Struts2可以通过集成日志框架,如Log4j或Java内置的日志API,来记录异常堆栈跟踪和其他相关信息。 通过以上方法,Struts2能够提供灵活且强大的异常处理能力,使得开发者能够更好地控制和管理应用程序的异常行为,...
5. **结合Log4j等日志框架**:在处理异常时,通常会配合Log4j等日志框架记录异常信息,以便于调试和问题追踪。 6. **错误页面设计**:为了提供良好的用户体验,错误页面应当清晰地向用户展示错误信息,同时避免暴露...
拦截器可以捕获并处理Action执行过程中的异常,或者记录日志,甚至将用户重定向到错误页面。创建自定义拦截器需要实现`Interceptor`接口,并在`intercept()`方法中处理异常。然后,在`struts.xml`中注册该拦截器,并...
1. **拦截器(Interceptors)**:Struts2的拦截器是其核心功能之一,它们可以插入到请求处理流程中,实现如日志记录、权限检查、数据验证等任务。 2. **配置灵活性**:Struts2允许通过XML或注解进行配置,提供了极大...
9. **错误处理**:Struts2框架提供了一种处理异常和错误的方式,例如,当数据库操作失败时,可以捕获SQLException,然后返回一个错误页面,向用户显示错误信息。 10. **国际化与本地化**:项目可能还包括了国际化...
4. 错误处理和日志记录:系统应有完善的错误处理机制,及时捕获异常并给出友好提示,同时记录日志便于问题排查。 5. 性能优化:合理使用缓存技术,减少数据库查询次数;优化SQL语句,避免全表扫描;根据需求考虑...
通过以上介绍,我们了解到Struts2的异常处理机制包括全局异常映射、动作级别的异常处理以及自定义拦截器。理解并灵活运用这些机制,能帮助开发者更好地控制程序的异常流程,提高应用的健壮性。结合`Struts2_13`这个...
// 自定义异常处理,比如记录日志、显示用户友好的错误信息等 // 然后决定如何转发 return mapping.findForward("customError"); } catch (Exception e) { // 其他未处理的异常,可以在这里进行统一处理 ...
在这个方法中,你可以检查Action执行是否抛出异常,并根据异常类型采取相应的措施,如记录日志、显示错误信息或者重定向到特定页面。为了使拦截器生效,需要在struts.xml配置文件中注册它,并将其添加到Action的拦截...
声明式异常处理是Struts通过配置文件(如struts-config.xml或struts2的struts.xml)来定义异常的路由策略。在这些配置文件中,我们可以指定当特定类型的异常发生时,应该转发到哪个JSP页面或者Action。这样,当程序...
4. **异常处理**:Struts2提供全局异常处理机制,统一处理应用程序中可能出现的各种异常,提高系统的健壮性。 5. **国际化**:通过Struts2的国际化支持,可以轻松实现多语言版本的JSP精品课网站。 6. **Ajax支持**...
6. **拦截器(Interceptor)**:拦截器是Struts2的一个强大特性,它允许在Action执行前后插入自定义逻辑,比如权限验证、日志记录等。`struts-default.xml`中预定义了一些常见的拦截器链。 7. **模型Driven和自动绑定...
4. **拦截器(Interceptor)**:在Action执行前后执行的逻辑,可以用于日志记录、权限检查等。 5. **结果类型(Result)**:定义了Action执行后的页面跳转规则。 6. **国际化(Internationalization, i18n)**:支持...
7. **日志记录**:在处理异常时,记录异常信息是至关重要的。Struts2提供了内置的日志支持,也可以集成第三方日志框架如Log4j或SLF4J,以便于跟踪和调试。 总的来说,Struts2的异常处理机制提供了灵活且强大的方式...
2. **拦截器(Interceptors)**:讲解Struts2的拦截器机制,它是执行一系列预定义操作的组件,如日志记录、性能监控、事务管理等。拦截器链可以自定义,让应用具有更好的可扩展性和灵活性。 3. **OGNL(Object-...
- **拦截器**:拦截器是Struts2的核心组件,用于在Action执行前后插入自定义逻辑,如登录检查、日志记录等。 - **OGNL(Object-Graph Navigation Language)**:Struts2内部使用OGNL作为表达式语言,用于在Action...
8. **表单处理**:Struts2提供了强大的表单处理能力,可以自动绑定请求参数到Action的属性,实现数据验证,并将错误信息回显到页面。 9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一...