zoukankan      html  css  js  c++  java
  • Struts2框架学习

    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控制层的数据字典,这个数据字典里面存放在ActionActionForward的信息,在程序执行的过程中,查阅这个数据字典,然后达到相应的位置,执行完成以后,再查询这个数据字典,转发特定的信息。

  • 相关阅读:
    Jmeter连接数据库并使用数据表数据作为接口所需参数
    使用CSV Data Set Config配置原件,参数化数据
    Jmeter连接SqlServer数据库并操作
    jmeter导入jmx文件报错:missing class com.thoughtworks.xstream.converters.ConversionException
    jmeter请求参数的两种方式
    badboy录制,出现弹框提示脚本错误解决方法
    (三)LoadRunner术语认识
    (二)LoadRunner目录分析
    7z命令
    python复制多层目录下的文件至其他盘符对应的目录中
  • 原文地址:https://www.cnblogs.com/bdqczhl/p/9256004.html
Copyright © 2011-2022 走看看