• Struts2学习笔记(一) Struts2配置文件的配置


    1、配置web.xml文件。

    在Struts2中,struts框架式通过Filter启动的。Filter在web.xml中的配置如下:

     <filter>
            <filter-name>struts2</filter-name>
            <filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
        </filter>
        <!-- 让Struts2的核心Filter拦截所有请求 -->
        <filter-mapping>
            <filter-name>struts2</filter-name>
            <url-pattern>/*</url-pattern>
        </filter-mapping>

    在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作。

    注意:struts2督导struts.xml的内容后,以javabean形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的数据,而不是每次都读取struts.xml文件。


    2、配置struts.xml文件。

    <struts>
        <constant name="struts.devMode" value="true" />
        <package name="wbb" namespace="/" extends="struts-default">
            <action name="login" class="ruixin.net.wbb.LoginAction" method="execute">
                <result name="input">/login.jsp</result>
                <result name="success">/page/success.jsp</result>
                <result name="error">/error.jsp</result>
            </action>
        </package>
    </struts>

    struts2中用包package来管理Action,其中name属性相当于id是唯一的,方便其他包引用。namespace属性可以减少重复的代码。


    3、Action名称的搜索顺序

    1)获得请求路径的URI,例如url是:http//localhost:8080/struts2/path1/path2/path3/test.action

    2)首先寻找namespace为path1/path2/path3的package,如果不存在这个package则执行步骤三;如果存在这个package,则在这个package中寻找名字为test的action,挡在该package下寻找不到action时,就会直接跑到默认namespace的package里面去寻找action(默认的命名空间为空字符串“”),如果在默认namespace的package里面还寻找不到改action,页面提示找不到action;

    3)寻找namespace为/path1/path2的package,如果不存在这个package,则转至步骤4..............

    4)寻找namespace为/path1的package,如果不存在这个package,则执行步骤五......

    5)寻找namespace为/的package,..........


    4、Action配置中的各项默认值

    1)如果没有为action指定class,默认是ActionSupport。

    2)如果没有为action指定method,默认执行action中的execute()方法。

    3)如果没有指定result的属性,默认值为success。







  • 相关阅读:
    约瑟夫环问题拓展 C/C++
    C/C++之STL简介
    详解约瑟夫环问题 C/C++
    HC-SR04超声波传感器
    TCRT5000 红外传感器
    win10的docker无法运行mysql的image,Public Key Retrieval is not allowed
    如何将docker默认的安装位置从C盘改为D盘?
    免费PDF阅读器
    A1B2B3
    动态代理
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3318144.html
Copyright © 2020-2023  润新知