把这段配置放到package中就行了....
<global-results>
<result name="commonErrorPage">/error.jsp</result>
</global-results>
<global-exception-mappings>
<exception-mapping name="commonErrorPage"
exception="java.lang.Exception"
result="commonErrorPage"/>
</global-exception-mappings>
其实也可以配置一个拦截器,拦截invocation.invoke()是否有异常,有异常则设置错误信息返回到指定页面。请看下面代码:
1.struts.xml的配置:
<interceptors>
<interceptor name="exceptionInterceptor" class="ExceptionInterceptor" />
<interceptor-stack name="myStack">
<interceptor-ref name="defaultStack" />
<interceptor-ref name="exceptionInterceptor" />
</interceptor-stack>
</interceptors>
<default-interceptor-ref name="myStack" />
2.其中ExceptionInterceptor在Spring中有配置:
<bean id="ExceptionInterceptor"
class="com.business.interceptor.ExceptionInterceptor"></bean>
3.自己在实现EsbLogInterceptor这个类中拦截代码:
/**
* 异常拦截器,将异常信息捕获,然后统一在异常信息页面进行显示处理
* @author.....
*
*/
public class ExceptionInterceptor extends AbstractInterceptor
{
private static final long serialVersionUID = -973363922210992103L;
public static final String EXCEPTION = "commonErrorPage";
@Override
public String intercept(ActionInvocation invocation) throws Exception
{
try
{
return invocation.invoke();
}
catch (Exception e)
{
ActionContext context = invocation.getInvocationContext();
StringWriter writer = new StringWriter();
e.printStackTrace(new PrintWriter(writer, true));
context.put("tipMessage", e.getMessage());
context.put("tipCourse", writer.toString());
return EXCEPTION;
}
}
}
分享到:
相关推荐
7. **异常处理**:学习如何在Struts2中处理异常,如使用全局异常拦截器。 8. **国际化和本地化**:如果案例涉及,了解如何在Struts2中实现多语言支持。 通过深入学习和实践这个案例,你可以更全面地理解和掌握...
项目中出现的异常通常要用一个友好的异常页面来显示,通过对struts2.xml的配置能拦截全局异常,只要出现异常就会转向异常页面。
2. **默认拦截器栈**:`defaultStack`包含了Struts2内置的一些拦截器,如`params`(处理参数),`i18n`(处理国际化),`exception`(处理异常)等。 3. **应用全局拦截器**:现在,所有Action都会在执行前经过`...
在Struts2中,处理程序方法可能会抛出各种异常,为了提供统一的错误处理和用户友好的异常提示,我们可以定义全局异常提示。这篇博文主要探讨的是如何在Struts2中设置和使用全局异常提示属性文件。 首先,我们要理解...
拦截器是Struts2框架的核心特性之一,它们扮演着处理请求、增强功能和实现业务逻辑的角色。在Struts2中,拦截器就像过滤器一样工作,通过链式调用在动作执行前后进行预处理和后处理。 首先,我们来理解一下拦截器的...
- **全局配置**:在`struts-default.xml`或`struts-plugin.xml`中,可以设置全局拦截器、常量等。 - **应用配置**:在`struts.xml`中定义Action、结果类型、拦截器栈等,这是应用的核心配置文件。 3. **Action...
在Struts2配置中,我们需要将这个拦截器添加到拦截器栈中,通常是在`struts.xml`文件中。这样,每次请求到达Action之前,都会先经过这个拦截器: ```xml <struts> ...
通过在`struts.xml`或相应的配置文件中定义全局异常处理,可以为整个应用设定统一的异常处理策略。全局异常处理通常用于处理那些没有被Action或者拦截器捕获的异常。你可以定义一个全局的结果类型(如`global-...
1. **全局异常处理**:在Struts2的配置文件中,可以定义一个或多个`<global-exception-mappings>`标签来处理全局异常。这些映射可以指定一个特定的Action或结果来处理特定类型的异常。例如,当发生`...
6. **Exception拦截器**:处理未被捕获的异常,可以配置全局错误页面。 在`src`目录下,可能包含了Struts2项目的源代码,包括Action类、拦截器类以及其他业务逻辑相关的Java类。通过分析这些源代码,我们可以了解...
9. **异常处理**:Struts2通过全局异常映射(Global Exception Mapping)来统一处理应用程序中抛出的异常,提高代码的可维护性。 10. **国际化与本地化**:Struts2支持多语言环境,可以通过资源包(properties文件...
总的来说,Struts2的配置涉及到很多方面,包括Action、拦截器、结果和全局配置。通过灵活的配置,开发者可以根据项目需求定制自己的MVC架构,提高开发效率和代码的可维护性。了解并掌握Struts2的配置,对于Java web...
配置文件在Struts2框架中起着至关重要的作用,它们定义了框架的行为、拦截器、对象工厂以及各种组件的配置。下面将详细介绍Struts2配置文件中的关键元素。 1) **struts-default.xml**: 这是Struts2框架默认加载的...
**默认拦截器栈**:Struts2提供了多个默认的拦截器栈,如`defaultStack`、`simpleStack`等,它们包含了常用的操作,如类型转换、参数填充、异常处理等。 **自定义拦截器**:开发者也可以根据需要创建自定义拦截器,...
- **异常处理**:配置异常拦截器,实现全局异常捕获和处理,提升用户体验。 - **文件上传与下载**:Struts2内置了对文件上传的支持,可以轻松实现文件上传功能;同时也可以配置下载功能,满足文件分发的需求。 - **...
为了处理权限验证失败的情况,你可能需要配置一个全局异常处理结果,比如`exception`或`login`,这样当权限拦截失败时,用户会被导向这个结果页面。 5. **注解方式配置**: 除了XML配置,Struts2还支持使用注解...
- 在`struts.xml`中,可以配置全局的异常处理策略,捕获并处理特定的运行时异常。 6. **Intercept 配置**: - 拦截器(Interceptor)是Struts2的核心特性,允许在Action执行前后插入自定义逻辑。在`struts.xml`中...
2. **全局异常处理**:Struts允许我们在配置文件中定义全局异常映射,这样所有Action中的未捕获异常都会被映射到特定的结果页面。在`struts.xml`或`struts-default.xml`中,可以使用`<global-exception-mappings>`...
Struts2提供了ActionError和FieldError接口,允许我们在Action类中捕获并添加错误信息,然后通过配置struts.xml文件,定义全局或特定Action的异常处理规则,使这些错误以JSON格式响应。 首先,你需要在Action类中抛...