`

第二:马士兵Struts2 视频学习笔记之struts.xml文件中的action

阅读更多

1. struts.xml文件package标签的namespace 决定了action 的访问路径,默认为“”,可以接收所有路径的actuon,

  或者可以写成“/”或者“/XX”等等。

 

2. struts.xml文件package标签的name属性,和一般的java项目中的package类似,在这里是区分action,防止命名重名的情况。

 namespace属性 如果写成namespace="/front",那么访问该项目的hello action的时候,url地址就要写成......./front/hello.action。同样.action可以省略。namespace如果不为空,那么必须以“/”开头。

 

3. result标签中 name属性的默认值为success,所有没有写name属性的它的name属性都是success。成功。

 

 

 

 

 

4. action标签中class的配置:当访问这个action的时候会去找到这个对应的class文件,然后执行该文件中的execute方法,该方法的返回类型是String,比如return “success”;

所以该class文件可以是一般的java文件,只要该类中有execute方法,并且返回值是String就可以被struts2当成action。

 

此时的执行过程为:找到该action是一个class时,会去找到该class的对象(每次访问时必定new一个,如果不是每次访问时新创建会出现线程同步的问题),执行其中的execute方法,返回一个string,根据返回的String在action标签下的result中寻找对应的name值匹配的result,将匹配到的result标签中的jsp文件(视图)返回给用户浏览器。

 

5.  具体视图的返回可以有用户自己定义的action来决定。具体的实现手段有三种。

 

第一种:action对应的class文件是一个普通的java类,但是有execute方法,并且返回值是String类型

第二种:该class类文件实现Action接口,并且重写execute方法,Action接口只有一个方法,那就是execute方法。

第三种:该class类文件继承ActionSupport类,并且也重写execute方法。ActionSupport本身也实现了Action接口。

 

 

但是在实际的开发中我们只使用继承ActionSupport这一种方法,因为ActionSupport本身已经为我们封装了可以直接调用的特别方便的方法。因此可以直接在我们自己定义的java文件,即子类中直接调用这些方法。

分享到:
评论

相关推荐

    马士兵Struts2笔记2013

    以下是关于"马士兵Struts2笔记2013"中的关键知识点详解: 1. **建立Struts2工程** 创建一个Struts2工程通常涉及在集成开发环境中(如MyEclipse)创建一个新的Web项目,然后将必要的Struts2库添加到项目的`lib`目录...

    马士兵struts2课程的学习笔记

    2. **web.xml配置**:在`web.xml`文件中,你需要配置一个过滤器来启动Struts2框架。这里,`<filter>`元素定义了名为“struts2”的过滤器,其类为`org.apache.struts2.dispatcher.ng.filter....

    马士兵struts2源码.rar

    2. **配置文件**:主要包括struts.xml,这是Struts2的主配置文件,用于定义Action、结果类型、拦截器等,是理解和配置Struts2的关键。 3. **Interceptor(拦截器)**:Struts2的一个强大特性,可以在Action执行前后...

    Spring学习笔记(马士兵spring视频笔记).doc

    Spring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).docSpring学习笔记(马士兵spring视频笔记).doc

    马士兵老师搭建struts2环境时用到的jar架包

    在马士兵老师的教程中,他会指导如何将这些JAR包放入项目的`WEB-INF/lib`目录,然后配置`web.xml`文件以启用Struts2。配置通常包括定义过滤器和设置Struts2的初始化参数。 ```xml <filter-name>struts2 ...

    马士兵老师spring框架学习笔记

    马士兵老师的Spring框架学习笔记会详细讲解这些概念,并结合实例帮助读者理解并掌握如何在实际项目中应用Spring框架。通过学习,你可以提升Java开发技能,更好地理解和运用Spring生态,为你的职业发展奠定坚实基础。

    马士兵hibernate学习笔记.docx

    《马士兵Hibernate学习笔记》是一份详尽的教程,涵盖了Hibernate框架的核心概念和技术要点。Hibernate作为Java领域中广泛使用的对象关系映射(ORM)框架,它有效地解决了Java应用程序与数据库之间的数据交互问题,...

    马士兵hibernate学习笔记(原版)

    ### 马士兵Hibernate学习笔记知识点总结 #### 一、课程内容概览 - **HelloWorld**:通过简单的示例程序介绍如何启动一个基于Hibernate的Java项目。 - **Hibernate原理模拟**:解释O/R Mapping的概念及其重要性。 -...

    马士兵 mybatis学习笔记

    2. **配置文件详解**:MyBatis的主配置文件(mybatis-config.xml)包含了数据库连接信息、事务管理器、环境配置等。此外,还需要创建SQL映射文件(例如:UserMapper.xml),这里定义了SQL语句及其映射规则。 3. **...

    马士兵JAVA笔记(全).docx

    马士兵JAVA笔记(全) 本资源是马士兵的JAVA笔记,涵盖了JAVA语言的基础知识,包括标识符、常量、变量、数据类型、运算符、控制流语句等。 标识符是JAVA中的一种符号,用于命名变量、方法、类等。标识符由字母、...

    马士兵多线程笔记.zip

    在IT领域,多线程是程序设计中...马士兵的多线程训练营资料1和资料2可能涵盖了以上这些知识点的详细讲解,通过学习这些内容,开发者可以掌握多线程编程的基本技能,解决实际项目中的并发问题,提升软件的性能和稳定性。

    马士兵Spring课堂笔记(超级详细版).pdf

    马士兵Spring课堂笔记(超级详细版) 本资源主要讲解了Spring框架的基础概念和应用,涵盖了面向接口编程、IOC/DI、AOP、Spring应用IOC/DI、Spring应用AOP、Struts2.1.6 + Spring2.5.6 + Hibernate3.3.2整合、Spring...

    马士兵jvm调优笔记.docx

    ### 马士兵JVM调优笔记知识点梳理 #### 一、Java内存结构 Java程序运行时,其内存被划分为几个不同的区域,包括堆内存(Heap)、方法区(Method Area)、栈(Stack)、程序计数器(Program Counter Register)以及...

    JAVA笔记(根据马士兵的java视频整理).pdf

    在马士兵的JAVA视频教程中,他不仅详细讲解了JAVA的基础知识,比如变量、循环、分支结构、数组、常用类等,还对I/O Stream、Collection/Generic、Thread、TCP/UDP等更深层次的概念进行了深入探讨。这些基础知识的...

    马士兵java框架hibernate学习笔记

    ### 马士兵Java框架Hibernate学习笔记 #### 一、HelloWorld - **知识点概述**: - **项目搭建**:介绍了如何从零开始搭建一个简单的Hibernate项目。 - **环境配置**:包括了如何配置MySQL数据库、创建必要的表...

    SSH学习笔记--整理.rar

    笔记中可能涵盖了Struts2的核心概念,如Action、Result、Interceptor等,以及如何配置Struts2的XML文件,进行表单验证,处理异常,集成其他框架等内容。 接下来是“马士兵hibernate学习笔记.doc”。Hibernate是一个...

    马士兵spring学习笔记

    ### 马士兵Spring学习笔记知识点汇总 #### 一、面向接口编程(面向抽象编程) **概念:** 面向接口编程是指在设计系统时,尽量通过接口来定义各个组件之间的交互方式,而不是直接依赖于实现类。这种方式使得系统...

    JAVA就业班笔记【马士兵说】.nyf

    JAVA就业班笔记【马士兵说】.nyf

    马士兵hibernate学习笔记

    ### 马士兵Hibernate学习笔记知识点总结 #### 一、HelloWorld示例 - **目的**:通过简单的示例理解Hibernate的基本使用流程。 - **步骤**: - 创建Java项目`hibernate_0100_HelloWorld`。 - 建立库依赖,包括...

Global site tag (gtag.js) - Google Analytics