`

1、struts2 namespace总结

 
阅读更多
struts2.2.1
1.namespace

namespace决定了action的访问路径,默认为“”,可以接收所以路径的action
namespace可以写为/,或者/xxx,或者/xxx/yyy,对应的action访问路径为/index,/xxx/index,/xxx/yyy/index。
namespace最好也用模块来进行命名

关于如何从URI映射到一个action中可以遵循如下的一条规则:
1.获得请求路径的URI,例如url是:http://server/myapp/path1/path2/path3/test.action
2.首先寻找namespace为/path1/path2/path3的package,如果存在这个package,则在这个package中寻找名字为test的action,若找到则执行,否则报错;如果不存在这个package则转步骤3;
3.寻找namespace为/path1/path2的package,如果存在这个package,则在这个package中寻找名字为test的action,若找到则执行,否则报错;如果不存在这个package则转步骤4;
4.寻找namespace为/path1的package,如果存在这个package,则在这个package中寻找名字为test的action,若找到则执行,否则报错;
如果仍然不存在这个package,就去namaspace为空字符串的package下面去找名字为test的action,如果还是找不到,页面提示找不到action。

总的来说,就是相当于最大匹配原则,如果一直没有匹配的,则一级一级往上找,知道根目录。如果在某处出现了匹配路径,则取那个名称空间找action,这个时候如果找不到,就直接跳到默认package中取找了。如果仍然找不到,那就只能报错了。

这里有几点特殊的情况要说明一下,如下所示:
1.如果匹配到了多个package,比如上述流程中有多个namespace为/path1/path2/path3
的package,此时按照package出现的顺序从前向后(我修改过)查找action,直至找完为止。(执行最后一个)

2.如果在一个package中有多个name属性相同的action,那么执行最后一个action。比如上述流程中,有一个namespace为/path1/path2/path3的package,它里面含有多个名字为test的action,那么选择最后一个执行。
下划线处的内容是错误的,在struts2.2.1中,不能出现相同的包名.........
分享到:
评论

相关推荐

    Struts2初步使用总结

    ### Struts2初步使用总结 #### 一、Struts2原理概述 **1.1 为什么要用Struts2** 在探讨为何使用Struts2之前,我们先简要回顾一下Struts2的一些基本特点: - **模块化设计**:Struts2采用模块化的架构设计,使得...

    struts2学习笔记(完美总结)——转自OPEN经验库

    Struts2是一个强大的Java web应用程序开发框架,它遵循Model-View-Controller (MVC)设计模式,用于构建可维护性和可扩展性高的企业级应用。本文将深入探讨Struts2的核心概念,包括Action、Result、配置文件、OGNL与...

    Struts2课堂学习总结

    1. **环境搭建**:要搭建Struts2的开发环境,首先需要配置Tomcat服务器和JDK。接着,将必要的Struts2库文件(jar包)添加到项目的类路径中,通常这包括Struts2的核心库和其他依赖库。`struts.xml`配置文件不应放在`...

    struts2 学习重点笔记

    ### Struts2 学习重点知识点总结 #### 一、Struts2 概念与架构 **1.1 Struts2 简介** - **定义**:Struts2 是 Apache 组织提供的一个基于 MVC 架构模式的开源 Web 应用框架。 - **核心**:Struts2 的核心其实是 ...

    struts2学习总结

    ### Struts2 学习总结 #### 一、Struts2 概览 Struts2 是 Apache 软件基金会负责维护的一个开源项目,它是一个用于简化 Web 应用程序开发的 MVC(Model-View-Controller)框架。相比于 Struts1,Struts2 在架构上...

    Struts2技术总结

    ### Struts2技术总结 #### 一、Struts2概述及特点 Struts2作为一款流行的Java Web开发框架,继承了Struts1的优点并进行了大量的改进与创新,使其成为了一个非常值得学习的目标。Struts2相比Struts1,最大的优势...

    Struts2基础总结-1

    ### Struts2基础总结 #### 一、Struts2简介及环境搭建 ##### 1-1、导包 - 在构建Struts2项目时,正确的导入JAR包至关重要。如果盲目导入所有可用的JAR包可能会导致冲突或者不必要的错误。官方推荐的做法是从`...

    Struts2学习小结

    以上是对 Struts2 学习的一些基本总结,包括环境搭建、工具集成、工作原理以及 Namespace 和 Action 的使用等关键知识点。通过这些知识点的学习,可以帮助开发者更好地理解和使用 Struts2 框架。

    struts2学习心得

    本文总结了Struts2的常用方法和经验,涵盖了配置问题、EL表达式、Struts2的架构和Namespace等方面的知识点。 一、配置问题 Struts2的最新版本为GA 2.2.1,需要以下几个类库: 1.commons-fileupload-1.2.1.jar 2....

    Struts2 英文教程

    相比于Struts1,Struts2在设计上更加注重灵活性和可扩展性,使得开发者能够快速构建复杂的Web应用程序。 #### 配置Web应用 为了在项目中使用Struts2,首先需要在`web.xml`文件中配置一个过滤器。以下是一个典型的...

    struts2知识总结.txt

    根据提供的文件信息,我们可以将Struts2的相关知识点总结如下: ### Struts2框架概述 - **Struts2** 是一个基于MVC模式的开源Web应用框架,它与JSP、XML、JDK以及Tomcat等技术紧密关联。Struts2在Java Web开发中...

    Struts2注解开发jar

    总结来说,Struts2注解开发通过`struts2-convention-plugin`插件实现了更加简洁、灵活的Java web应用开发方式,降低了XML配置的工作量,提高了开发效率。理解并熟练运用Struts2的注解开发,有助于创建高效、易于维护...

    30分钟学会STRUTS2.ppt

    1. **视图技术多样性**:Struts2支持多种视图技术,如FreeMarker和Velocity,而Struts 1则主要依赖JSP。 2. **可测试性**:Struts2的Action类可以独立于Web服务器进行测试,因为它不依赖Servlet API,支持反向注入,...

    Jquery与struts2

    <package name="default" namespace="/" extends="struts-default"> <result-type name="json" class="com.opensymphony.xwork2.result.HttpServletResponseResult" default="true"/> <!-- ... --> ...

    struts基础总结

    当请求无法匹配到特定Action时,Struts2会从上一级namespace直到根namespace逐级查找,找不到则抛出错误。对于包含资源的页面,如图片,如果在命名空间内,需要确保图片路径的正确设置,以免影响显示。 Struts2还...

    struts2的学习总结

    Struts2是Struts的升级版本,旨在解决Struts1的一些局限性,比如过多的代码编写和单元测试的困难。 首先,Struts2的核心特性在于其强大的Action类和配置文件。Action类是处理用户请求的核心,通过注解或XML配置文件...

    struts2登录实例

    总结,本实例通过Struts2展示了如何实现一个基本的登录功能。Struts2的灵活性和可扩展性使其成为开发Java Web应用的有力工具。通过理解并实践这个实例,你可以更深入地掌握Struts2的工作原理和应用。

Global site tag (gtag.js) - Google Analytics