Struts功能详解——ActionMapping对象

ActionMapping描述了struts中用户请求路径和Action的映射关系,在struts中每个ActionMapping都是通过path属性和一个特定的用户请求URL关联。它负责转发用户请求给具体的Action,同时还转发了其他的一些相关信息,这种请求和处理动作之间的映射关系保存在struts-config.xml这个配置文件中,在web服务器初始化的时候,会加载这个配置文件,struts给每一个Action都创建一个ActionMapping对象,用来提供给Action使用,当ActionServlet转发请求的时候,ActionMapping对象会被作为参数传递给Action的execute()方法。
 
 
 
在一个web应用中,每个资源都必须通过URI来进行引用。 资源包括HTML页面,JSP页面,和定制动作。为了给定制动作一个 URI或者说路径,Struts框架提供了一个 ActionMapping对象。

ActionMaping也是Struts的一个核心对象,通常我们不用手写ActionMapping类,它只需要在配置文件中配置就行。

ActionMapping如何配置:

ActionMapping在配置文件Strtus-config.xml中配置,配置格式如下:

  1. <struts-config>
  2. <action-mappings>
  3. <actionpathactionpath="/login"
  4. type="com.bjpowernode.struts.LoginAction"
  5. name="loginForm"
  6. scope="request"
  7. >
  8. <forwardnameforwardname="success" path="/login_success.jsp" />
  9. <forwardnameforwardname="error"path="/login_error.jsp"/>
  10. </action>
  11. </action-mappings>
  12. </struts-config>

其中<action>标签是为每一个独立的action配置,配置他们的访问方式和访问控制。

<forward>标签配置action执行完返回以后,需要到达的地方。

其中name scope type分别是actionMapping的一个属性,它对应着action的需要访问的位置和数据来源,还有数据范围。

ActionMapping的功能:

ActionMapping的主要功能就是管理Action的信息和管理Action执行完成以后的ActionForward的信息。

它将特定请求映射到特定Action的相关信息存储ActionMapping中,ActionServelt将ActionMapping传送到Action类execute()方法,Action将使用ActionMapping的findForward()方法,此方法返回一个指定名称的ActionForward,这样Action就完成了本地转发。若没有找到具体的ActionForward,就返回一个null.

ActionMapping的方法:

publicExceptionConfig findException(Class type) ,查找异常对象

public ActionForwardfindForward(String name) 可在映射中动态添加ActionForward:

public String[]findForwards()找到一个Action可以使用的actionForward列表

public ActionForwardgetInputForward() 得到本action的输入ActionForard.

ActionMapping继承于org.apache.struts.config.ActionConfig

总之,对于ActionMapping来说,起算是一个web控制层的数据字典,这个数据字典里面存放在Action和ActionForward的信息,在程序执行的过程中,查阅这个数据字典,然后达到相应的位置,执行完成以后,再查询这个数据字典,转发特定的信息。

Struts功能详解——ActionMapping对象的更多相关文章

  1. Struts功能详解 ——ActionServlet

    ActionServlet类是Struts框架的内置核心控制器组件,它继承了javax.servlet.http.HttpServlet类.Struts的启动通常从 加载ActionServlet开始 ...

  2. Struts功能详解——ActionForm

    ActionForm ActionForm用于封装用户的请求参数,而请求参数是通过JSP页面的表单域传递过来的.因此应保证ActionForm的参数,与表单域的名字相同.     ActionForm ...

  3. Struts功能详解——ValidatorForm

    ActionForm和ValidatorForm区别:       一个Form继承了ValidatorForm 就不用写具体的验证,但是需要提供:validation-rules.xml 和 val ...

  4. dom对象详解--document对象(二)

       dom对象详解--style对象 style对象 style对象和document对象下的集合对象styleSheets有关系,styleSheets是文档中所有style对象的集合,这里讲解的 ...

  5. dom对象详解--document对象(一)

     document对象 Document对象代表整个html文档,可用来访问页面中的所有元素,是最复杂的一个dom对象,可以说是学习好dom编程的关键所在. Document对象是window对象的一 ...

  6. 转载]IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本 )

    原文地址:IOS LBS功能详解[0](获取经纬度)[1](获取当前地理位置文本作者:佐佐木小次郎 因为最近项目上要用有关LBS的功能.于是我便做一下预研. 一般说来LBS功能一般分为两块:一块是地理 ...

  7. UIViewController中各方法调用顺序及功能详解

    UIViewController中各方法调用顺序及功能详解 UIViewController中loadView, viewDidLoad, viewWillUnload, viewDidUnload, ...

  8. .NET ORM框架 SqlSuagr4.0 功能详解与实践【开源】

    SqlSugar 4.0 ORM框架的优势 为了未来能够更好的支持多库分布式的存储,并行计算等功能,将SqlSugar3.x全部重写,现有的架构可以轻松扩展多库. 源码下载: https://gith ...

  9. PHP 5.2、5.3、5.4、5.5、5.6 对比以及功能详解

    php5.2.x php5.3.x php5.4.x php5.5.x php5.6.x 对比详解 截至目前(2014.2), PHP 的最新稳定版本是 PHP5.5, 但有差不多一半的用户仍在使用已 ...

随机推荐

  1. JavaScript(ES6)学习笔记-Set和Map与数组和对象的比较(二)

    一.Map,Set,Array对比: 1.增 let map = new Map(); let set = new Set(); let array = []; map.set('t',1); //M ...

  2. Introduction of Servlet Filter(介绍javaweb组件之一过滤器filter)

    javaweb的三大组件都需要交给web服务器运行,都需要在web.xml文件中配置. ①Servlet:javax.servlet.Servlet通过http协议接受客户端的请求,并作出响应的Jav ...

  3. php 查询mysql数据批量转为PDF文件一(mac使用配置wkhtmltopdf html导出PDF)

    数据转标准PDF查文档,查资料先转HTML标准格式再html转PDF 转PDF wkhtmltopdf工具是最佳选择 首先下载wkhtmltopdf https://wkhtmltopdf.org/d ...

  4. Ubuntu18.04下给PyCharm创建快捷方式

    Ubuntu18.04下给PyCharm创建快捷方式 该方法 WebStorm.PyCharm.Clion 等都适用. 步骤 终端输入: sudo gedit /usr/share/applicati ...

  5. 【js高程学习笔记】Object类型

    创建一组Object的实例的方式有两种: 方法一: var person = new Object(); person.name = '团子'; person.race = '猫'; person.s ...

  6. HFun.快速开发平台(五)=》自定义系统数据选择

    本篇介绍HFun.快速开发平台的另一项系统常用功能:系统数据或参数选择,主要应用在表单录入中信息的选择,如类别,编号等.先贴出本系统实现的页面效果: 如上图所示,系统中将参数的选择统一展现为该方式,开 ...

  7. servlet获取request数据的乱码解决

    例如请求中有: /score?type=Mana&name=${user.name} ***************************************************** ...

  8. yarn web ui 参数详解

    我们经常使用yarn调度,但是我们是否对调度队列显示参数真正了解呢?   下面我们来一一看看这些参数都是做什么用的,代表什么意思   hadoop是通过队列管理集群资源,翻开集群Web UI,找到Sc ...

  9. java代码生成json数据

    https://www.cnblogs.com/libo0125ok/p/7905665.html

  10. 零基础学习JavaSE(一)

    一.开发环境安装配置 1.1 安装jdk jdk下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html 下载后安 ...