`

Struts2对Action名称的搜索顺序

阅读更多
新建一个struts2项目,命名为struts2。按照如下XML文件配置一个Action:
1<package name="hello" namespace="/action" extends="struts-default">
2    <action name="helloworld" class="com.xiaobai.struts.action.HelloWorldAction" method="execute">
3    <result name="success">/WEB-INF/page/hello.jsp</result>
4    </action>
5</package>
将应用部署,访问如下路径:http://localhost:8080/struts2/action/sdf/dsf/32/d/helloworld 依然可以访问到Action。
这主要是因为Struts2对Action名称的搜索是按照一定顺序进行的。以上面的情况为例:
1.struts2首先搜索命名空间为/action/sdf/dsf/32/d的包是否存在,存在的情况下,是否有helloworld这个Action;
2.搜索命名空间为/action/sdf/dsf/32的包是否存在,存在的情况下,是否有helloworld这个Action;
3.搜索命名空间为/action/sdf/dsf的包是否存在,存在的情况下,是否有helloworld这个Action;
4.搜索命名空间为/action/sdf的包是否存在,存在的情况下,是否有helloworld这个Action;
5.搜索命名空间为/action的包是否存在。在这种情况下能够搜索到,因此,可以访问到helloworld这个Action。
此外,如果按照这种搜索顺序搜索,发现所有的包均不存在,那么struts2则会到命名空间为""(默认命名空间)的包下面去找helloworld这个Action。
分享到:
评论

相关推荐

    传智播客struts2.1视频教程_源代码_Action名称的搜索顺序

    在这个“传智播客Struts2.1视频教程”中,重点讲解了Action名称的搜索顺序,这是理解Struts2工作原理的关键部分。 首先,我们需要了解Struts2中Action的基本概念。Action是Struts2的核心组件,负责处理用户的请求并...

    Action名称的搜索顺序

    ### Action名称的搜索顺序与Action配置的默认值 在Struts2框架中,Action的配置与执行流程至关重要,它不仅决定了Action的执行顺序,还影响着业务逻辑的处理方式及结果展示。本文将深入探讨Action名称的搜索顺序、...

    Struts2_Action

    Struts2框架的配置文件不仅仅是struts.xml,还包括几个核心配置文件,其加载顺序如下: 1. struts-default.xml:提供默认的配置,包含默认拦截器栈和拦截器定义。 2. struts-plugin.xml:插件的配置文件,如果使用...

    struts2的复习

    5. 拦截器:拦截器是Struts2的核心组件,它们按照预设顺序在Action执行前后执行,实现AOP(面向切面编程)功能,如日志记录、权限验证、性能监控等。开发者可以通过自定义拦截器来扩展框架功能。 五、配置与注解 6....

    struts2面试题

    2. **Struts2的核心组件**:Struts2的核心组件主要包括过滤器(Filter)、拦截器(Interceptor)、Action、Result等。其中,StrutsPrepareAndExecuteFilter是Struts2框架的核心组件之一,它负责初始化框架,并处理...

    struts2-action.pdf

    ### Struts2中Action的理解与应用 #### 一、Action定义及作用 在Struts2框架中,...通过对Action生命周期、接口定义、核心元素的深入理解,开发者能够更好地掌握如何利用Struts2框架构建高效稳定的Web应用系统。

    struts2核心包

    至于压缩包子文件的文件名称列表"struts2",这可能是表示包含了一系列与Struts2相关的文件,如示例代码、配置文件或其他相关库。 总之,Struts2是一个成熟的MVC框架,通过Action、Interceptor、Result等核心组件,...

    Struts2工作机制

    总的来说,Struts2的工作流程大致为:请求到达-&gt;过滤器Dispatcher拦截-&gt;查找Action映射-&gt;创建Action实例-&gt;执行拦截器链-&gt;调用Action的execute方法-&gt;返回Result-&gt;渲染视图。这种设计允许开发者将业务逻辑、数据验证、...

    struts2学习笔记总结

    Action的配置包括Action名称、Class映射、结果和参数等。 2. 拦截器:拦截器是Struts2的核心特性,它们在Action执行前后按顺序执行,实现如日志、权限检查、事务管理等功能。自定义拦截器可以扩展框架功能。 四、...

    Struts2深入理解

    - **Action代理类负责加载Struts2的配置文件:** 捕获到请求后,框架会查找配置文件(通常是`struts.xml`),从中解析出请求应由哪个Action处理。 - **一个请求在到达Action的过程中可能经过多个拦截器:** 在请求...

    struts2 sort实例

    在Struts2中,提供了丰富的标签库来简化视图层的开发,其中包括`sort`标签,它允许我们在JSP页面上对数据集合进行排序。这个实例将深入探讨如何使用`struts2 sort`标签及其相关概念。 首先,`sort`标签是Struts2的...

    struts2核心配置文件

    通过以上对 `struts.xml` 和 `struts.properties` 文件的详细介绍,我们可以看出这两个文件在Struts2框架中的核心作用。`struts.xml` 主要关注于Action的映射和Result的定义,而 `struts.properties` 更多地关注于...

    struts2案例 struts2 struts2源码

    此外,Interceptor(拦截器)是Struts2的重要特性,它可以实现诸如日志记录、权限检查、事务管理等通用功能,并且可以按照特定顺序进行链式调用。 Struts2的配置文件通常为struts.xml,它定义了Action、Result以及...

    struts2的学习笔记+测试源代码

    3. **Action名称解析**:Struts2会尝试将Action名称映射到具体的Action类。Action名称可以通过`&lt;action&gt;`标签的`name`属性指定,也可以通过`default-action-ref`属性设置默认Action。 4. **结果类型与结果配置**:...

    Struts 2_0的Action讲解

    2. Struts 2 Dispatcher Servlet捕获请求,解析Action名称。 3. 根据配置找到对应的Action配置信息。 4. 创建Action实例,如果使用的是Spring集成,可能会通过Spring容器获取Action。 5. 执行预定义的拦截器链。 6. ...

    Struts2工作流程

    4. **ActionMapper**:根据请求路径,ActionMapper解析出Action名称,并决定哪个Action类需要被调用。 5. **ActionProxy**:由`FilterDispatcher`调用,它通过`Configuration Manager`查询Struts配置文件,找到对应...

    struts多个action处理

    多个拦截器可以按顺序组成一个拦截器栈,对每个Action的执行过程进行拦截。 6. **动态方法访问**:Struts2允许动态地决定调用哪个Action方法,这基于请求参数。例如,请求URL可能包含一个表示方法名称的参数,...

    04Action名称的搜索顺序

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    Struts2 运行流程分析

    7. **拦截器链执行**:在调用Action之前,Struts2会按照配置的顺序执行一系列拦截器。这些拦截器可以实现日志、权限检查、事务控制等功能。每个拦截器都有`preintercept`和`postintercept`方法,分别在调用Action...

    struts2工作流程

    一旦找到匹配的Action,Struts2就会创建Action的实例。默认情况下,使用的是Singleton模式,但可以通过配置改变为Prototype模式,以实现每个请求都有一个新的Action实例。 4. **参数绑定**: Struts2的`...

Global site tag (gtag.js) - Google Analytics