zoukankan      html  css  js  c++  java
  • Struts 2 配置详解

    Struts 2 配置详解

    1.Struts 2 执行过程解析

    2.Struts 2的常见配置文件

    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

    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的业务处理方法。

  • 相关阅读:
    线性代数思维导图——3.向量
    微分中值定理的基础题型总结
    构造函数
    Python课程笔记(七)
    0241. Different Ways to Add Parentheses (M)
    0014. Longest Common Prefix (E)
    0013. Roman to Integer (E)
    0011. Container With Most Water (M)
    0010. Regular Expression Matching (H)
    0012. Integer to Roman (M)
  • 原文地址:https://www.cnblogs.com/anzmri/p/8472549.html
Copyright © 2011-2022 走看看