0 0

MyUnknownHandler implements UnknownHandler 具体实现3个方法 Struts2 未处理异常跳转到指定页面!!!5

 package com.gcy.exception;

 

import com.opensymphony.xwork2.*;
import com.opensymphony.xwork2.config.entities.ActionConfig;
import org.apache.struts2.dispatcher.ServletDispatcherResult;
import com.opensymphony.xwork2.XWorkException;

public class MyUnknownHandler extends ActionSupport implements UnknownHandler{
 /**
  * @param namespace 用户请求的Action所在的命名空间。
  * @param actionName 用户请求的Action的名字。
  * @return 该Action最后生成的ActionConfig,可以返回null。
  */
 public ActionConfig handleUnknownAction(String namespace, String actionName) throws XWorkException{
  //...加入处理
     return null;
 }

 /**
  * @param action 用户请求的Action对象。
  * @param methodName 用户请求的Action的方法名
  * @return 该Action的该方法处理后返回的Result。
  */
 public Object handleUnknownActionMethod(Object action,String methodName)throws NoSuchMethodException{
  //...加入处理
  
  return "";
 }

 /**
  * @param actionContext 该Result所在ActionContext。
  * @param actionName 该Result所在的Action名。
  * @param actionConfig 该Result所在ActionContext。
  * @param resultCode 该Result所对应的逻辑视图字符串。
  * @return 将要被处理的结果,可以返回null。
  */
 public Result handleUnknownResult(ActionContext actionContext,String actionName, ActionConfig actionConfig, String resultCode) throws XWorkException{
  actionContext.put("action" , actionName);
  actionContext.put("result" , resultCode);
  //总是转入unknownResult.jsp页面
  return new ServletDispatcherResult("/exceptions/unknownResult.jsp");
 }
}

 

     各位高手,帮忙看下,这是李刚书本《Struts 2.1权威指南 》中关于处理未知Action、未知ActionMethod、未知Result 的异常跳转到unknownResult.jsp,  因为实际例子中没有未知Action、未知ActionMethod的实现,小弟苦苦查找许多资料未果,实验多种方法都不行,要求只要能跳转到指定页就行!!!

 

struts.xml 配置:

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN"
    "http://struts.apache.org/dtds/struts-2.1.dtd">
<struts>
<!-- 使用Bean定义了一个UnknownHandler -->
 <bean type="com.opensymphony.xwork2.UnknownHandler" name="yeekuHandler" class="com.mmr.exception.MyUnknownHandler"/>
 <include file="com/gcy/config/struts/*Action.xml"></include>
 
 <!-- 定义本系统的UnknownHandler栈-->
 <unknown-handler-stack>
  <unknown-handler-ref name="yeekuHandler" />
 </unknown-handler-stack>  
</struts>

 

unknownResult.jsp:

内容 可以随意。

 

 

目前还没有答案

相关推荐

    Struts通过拦截器实现登录后跳转到登录前页面

    4. **处理重定向**:在拦截器的`intercept()`方法中,当登录成功时,我们获取并返回存储的原始URL,Struts2会自动进行重定向操作。如果登录失败,则按正常流程返回Action的结果。 通过这样的设置,Struts2的拦截器...

    struts2详细讲义下载和具体实现

    - **1.2.8 SiteMesh页面布局框架简介**:SiteMesh是Struts 2中的一个装饰器模式实现,可以帮助开发者轻松地实现页面布局和模板化。 ##### 1.3 为什么选择Struts 2 - **成熟稳定**:Struts 2作为一个成熟的框架,...

    struts2自定义拦截器

    在Action类中,我们需要定义一个表示“无权限”的结果,这样当拦截器返回这个结果时,Struts2会根据配置跳转到相应的页面。例如: ```java public class LoginAction { // ... public String execute() { // ....

    STRUTS2+HIBERNATE详细的分页实现代码详细的分页实现代码

    根据提供的标题、描述、标签及部分内容,我们可以了解到这篇文章主要探讨的是如何在Struts2与Hibernate框架结合下实现分页功能。接下来将详细解析Struts2与Hibernate如何协作完成这一任务。 ### Struts2与Hibernate...

    ajax重写方法搭配后台filter返回status实现ajax请求跳转登录页面

    前端的Ajax请求捕获到这个401状态码后,会执行跳转逻辑,将用户带到登录页面。 总结,通过前端Ajax重写方法和后台Filter的结合,我们可以优雅地处理用户未登录的情况,确保了应用的安全性和用户体验。这种方法使得...

    struts2 自定义验证程序的实现方法详解

    ### Struts2 自定义验证程序的实现方法详解 #### 一、Struts2 内建验证程序实现的分析 在探讨如何实现自定义验证程序之前,我们先来了解一下 Struts2 的内置验证机制。Struts2 提供了丰富的内置验证器(Validator...

    Struts2 创建简单步骤

    当用户访问`/hello.action`时,Struts2会调用这个Action,如果执行成功,将会跳转到`/HelloWorld.jsp`页面。 ### 创建Action类 在`src/main/java/com/example`目录下创建`HelloWorldAction.java`,实现一个简单的...

    struts2 用拦截器 实现用户权限登录

    Struts2是一个强大的Java web应用程序框架,它提供了一种组织和控制MVC(Model-View-Controller)架构的机制。在Struts2中,拦截器是实现业务逻辑和控制流程之间解耦的关键组件。本教程将详细介绍如何使用Struts2的...

    struts2实现拦截器、

    // 未登录,跳转到登录页面 } // 用户已登录,继续执行下一个拦截器或Action return invocation.invoke(); } } ``` 2. **注册拦截器**:在Struts2的配置文件(如struts.xml)中注册刚才创建的拦截器,并指定...

    struts2初学者第一个实例

    Struts2是Java Web开发中一个非常流行的MVC框架,它极大地简化了基于Servlet和JSP的应用程序构建。对于初学者来说,理解并动手实践Struts2的第一个实例是非常重要的,这将帮助他们快速掌握该框架的基本用法。下面,...

    struts2配置过滤器

    本文将通过一个具体的示例来详细介绍如何在Struts2项目中配置过滤器。 #### 二、过滤器配置实例分析 ##### 2.1 web.xml配置解析 在给定的web.xml配置文件中,可以看到对`SessionInvalidate`过滤器进行了定义和...

    struts2完全捕获404错误的方法

    Struts2是一个非常流行的Java Web框架,用于构建和维护可扩展且易于管理的企业级应用程序。在Struts2中,处理HTTP错误状态码,如404 Not Found,是开发过程中的常见需求。404错误通常表示服务器无法找到请求的资源,...

    struts2注解详解

    ### Struts2 注解详解 #### 一、Struts2 Convention 插件介绍与使用 在 Struts2 框架的发展过程中,随着版本的更新和技术的演进,其配置方式也发生了变化。从 Struts2.1 版本开始,官方不再推荐使用 Codebehind ...

    Struts2拦截器及其用法详细说明

    一个常见的应用场景是登录验证拦截器,当用户访问受保护的资源时,拦截器首先检查用户是否已登录,未登录则重定向到登录页面。 ```java public class LoginInterceptor implements Interceptor { @Override ...

    Hibernate与struts2结合使用的demo

    在Java Web开发中,Hibernate和Struts2是两个非常重要的框架。Hibernate是一个对象关系映射(ORM)框架,它简化了数据库操作,而Struts2则是一个基于MVC(Model-View-Controller)设计模式的行动驱动框架,用于构建...

    struts2教程及API

    Struts2是一个强大的Java web开发框架,它基于MVC(Model-View-Controller)设计模式,为开发者提供了构建可维护性、可扩展性极高的Web应用程序的工具和方法。本教程将深入探讨Struts2的核心概念、配置以及API的使用...

    android工程全局异常处理-将未处理异常日志保存在文件中,可后续开发提交至服务器

    本篇主要介绍如何实现一个全局的异常处理机制,以便将未处理的异常日志保存到本地文件,并在后续开发中将这些日志提交至服务器进行分析。 首先,我们需要创建一个`ExceptionHandler`类,这个类将会作为全局的错误...

    struts拦截器实现等待页面

    Struts拦截器(Interceptor)是基于Java的Spring MVC和Struts2框架的一种设计模式,它在请求被控制器处理之前和之后执行特定的操作。在SSH(Struts2、Spring、Hibernate)系统中,拦截器用于增强应用程序的功能,...

    MyEclipse开发Struts2

    Struts2是一个流行的Java web应用程序框架,用于构建MVC(模型-视图-控制器)架构的应用。MyEclipse是一款强大的集成开发环境,特别适合于Java EE应用的开发,包括Struts2项目。以下是对如何使用MyEclipse进行Struts...

    struts2开发文档

    5. **Struts2的异常处理**: 通过配置全局或局部异常映射,可以统一处理异常,提供更好的用户体验。 6. **主题和皮肤**: Struts2支持多种UI主题,可以改变应用的外观和样式。 7. **国际化**: Struts2提供国际化的...

Global site tag (gtag.js) - Google Analytics