美文网首页我爱编程
Struts2的处理流程以及struts.xml文件分解

Struts2的处理流程以及struts.xml文件分解

作者: exmexm | 来源:发表于2017-06-29 17:48 被阅读0次
    Struts2的处理流程

    StrutsPrepareAndExecuteFilter是Struts2框架的核心控制器,它负责拦截由<url-pattern>/*</url-pattern>指定的所有用户请求,当用户请求到达时,该Filter会过滤用户的请求。默认情况下,如果用户请求的路径不带后缀或者以后缀.action结尾,这时请求将被转入Struts2框架处理,否则Struts2框架将略过该请求的处理。当请求转入Struts2框架处理时会先经过一系列的拦截器,然后再到Action。与Struts1不同的是,Struts2对用户的每一次请求是线程安全的。

    二、为应用指定多个Struts配置文件

    在大部分应用里,随着应用规模的增加,系统中的Action的数量也会大量增加,导致struts.xml配置文件非常庞大、臃肿。
    为了提高struts.xml文件的可读性,我们可以将struts.xml配置文件分解成多个配置文件,然后在struts.xml文件中包含其他配置文件。
    通过这种方式,我们就可以将Struts2的Action按模板添加在多个配置文件中。
    struts.xml如下:

    <struts>
        <!--  <constant name="struts.action.extension" value="do,action"/>-->
        <include file="winney.xml"/>
        <include file="hello.xml" />
    </struts>
    

    winney.xml如下:

        <package name="winneyx" namespace="/winneyx" extends="struts-default">
            <action name="winney" class="cn.itcast.action.HelloWorldAction">
                <result name="success">/WEB-INF/page/hello.jsp</result>
            </action>
        </package>
    

    hello.xml如下:

        <package name="hellox" namespace="/hellox" extends="struts-default">
             <action name="hello" class="cn.itcast.action.LoginAction" method="execute">
                <result name="success">/WEB-INF/index.jsp</result>
                <param name="companyName">中国有限公司</param>
             </action>
        </package>
    

    相关文章

      网友评论

        本文标题:Struts2的处理流程以及struts.xml文件分解

        本文链接:https://www.haomeiwen.com/subject/xhomcxtx.html