zoukankan      html  css  js  c++  java
  • 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。







  • 相关阅读:
    java基础学习笔记四(异常)
    关于linux下crontab mysql备份出来的数据为0字节的问题
    转:国内优秀npm镜像推荐及使用
    webpack使用总结~
    php下载远程文件方法~
    腾讯开放平台web第三方登录获取信息类(包含签名)
    windows 平台 php_Imagick 拓展遇到的那些坑!
    转:CentOS/Debian/Ubuntu一键安装LAMP(Apache/MySQL/PHP)环境
    composer 报错:Your requirements could not be resolved to an installable set of packages 解决方法
    Javascript模块化编程(三):require.js的用法
  • 原文地址:https://www.cnblogs.com/keanuyaoo/p/3318144.html
Copyright © 2011-2022 走看看