天天看点

Struts2的常见的配置文件介绍

1:package 定义一个包。 包作用,管理action。 (通常,一个业务模板用一个包)

  常见属性及其说明:

    (1)name  包的名字;以方便在其他处引用此包,此属性是必须的。 包名不能重复;       

    (2)extends 当前包继承自哪个包,用于声明继承的包。在struts中,包一定要继承struts-default ;

        struts-default在struts-default.xml中定的包

   (3)abstract  表示当前包为抽象包; 抽象包中不能有action的定义,否则运行时期报错

                    abstract=true  只有当当前的包被其他包继承时候才用!

                    如:

                        <package name="basePackage" extends="struts-default" abstract="true"></package>

                        <package name="user" extends="basePackage">

   (4) namespace   指定名称空间,也就是访问此包下的Action需要访问的路径,默认为"/"

                  作为路径的一部分

                  访问路径=  http://localhost:8080/项目/名称空间/ActionName

2:action   配置请求路径与Action类的映射关系,                                        常见属性及其说明:

         (1)name  请求路径名称,用于配置Action对象被请求的URL映射

         (2)class 请求处理的aciton类的全名

         (3)method 请求处理方法,设置请求Action对象时,调用对象的哪一个方法。       

3:result                                                          常见属性及其说明:

       (1)name  action处理方法返回值 。

       (2)type  跳转的结果类型,用于设置返回结果的类型,如请求转发,重定向等。

       (3)标签体中指定跳转的页面。

 简单的配置如下所示:

 4:通配符实现简化配置

第一步:引包,略过,前面已经写过

第二步:配置web.xml

第三步:开发action

第四步:配置struts.xml,先使用了普通的方法,后使用了通配符进行配置;

结果如下,访问的时候如此访问即可。

Struts2的常见的配置文件介绍
Struts2的常见的配置文件介绍

5:struts-default.xml详解

目录:struts-core.jar/struts-default.xml详解

内容:

    (1):bean节点指定了struts在允许的时候创建的对象类型

    (2):指定struts-default包【用户写的package一样要继承此包】

    (3):package struts-default中定义了:

        a:跳转的结果类型:

            dispatcher转化,不指定默认为转发;

            redirect重定向;

            redirectAction重定向到action资源;

            stream文件下载的时候使用;

        b:定义了所有的拦截器;

        定义了32个拦截器,

    为了拦截器引用方便,可以通过定义栈的方式引用拦截器

    此时如果引用了栈,栈中的拦截器都会被引用;

        c:默认执行的拦截器栈,默认执行的action;

            <default-interceptor-ref name="defaultStack"/>

            <default-class-ref class="com.opensymphony.xwork2.ActionSupport" />

6:拦截器,拦截器功能与过滤器功能类似

相同点和不同点:

    共同点:都是拦截资源的;

    不同点:拦截器,拦截所有资源都可以,包括.jsp,servlet,css,js,img等等,过滤器是servlet的概念,可已在struts中使用和servlet中使用;

               过滤器,只拦截action请求;是struts的概念,拦截器只在struts2中使用。          

7:struts2的执行流程

    服务器启动

    (1):加载项目web.xml

    (2):创建struts核心过滤器,执行filter--->init()方法

        struts-default.xml---》核心功能的初始化;

        struts-plugin.xml---》struts的相关插件;

        struts.xml用户编写的配置文件;

    访问:

        (3):用户访问action,服务器根据访问路径名称,找到对应的action配置,创建action对象。

        (4):执行默认的拦截器栈中定义的18个拦截器。

        (5):执行action的业务处理方法。