[Struts2]Struts2学习总结

来源:互联网 发布:淘宝教育下载破解 编辑:程序博客网 时间:2024/04/28 10:28

 

      以前只学过struts1,现在工作用的是struts2,用了几天的时间对struts2有了基本的了解。根据自己的理解简单总结下,struts2以WebWork为核心的MVC框架,大致上框架由三部分组成:“核心控制器FileterDispatcher,

业务控制器Action,业务逻辑组件”。Struts2为我们提供了核心控制器FileterDispatcher,业务控制器Action,业务逻辑组件需要我们自己实现。

  struts2的配置文件:web.xml,struts.xml 这两个配置文件时必须的。另外还有struts.properties(该配置文件包含了struts2的大量属性,以key-value的形式存储,开发者可以通过改变这里的属性来满足自己的需求,只要将该文件放在Web应用的CLASSPATH路径下,Struts 2框架就可以加载该文件),struts-default.xml(这个文件框架会自动加载),struts-plugin.xml(配置了Struts 2与Spring框架整合必需的常量、拦截器等。如果用户开发属于自己的Struts 2插件,只要将对应的struts-plugin. xml文件放在JAR文件中)

  web.xml文件用于配置FileterDispatcher,在<init-param>中可以指定一系列的初始化参数。

<filter>

    <filter-name>struts</filter-name>

    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher </filter-class>

</filter>

<filter-mapping>

    <filter-name>struts</filter-name>

    <url-pattern>/*</url-pattern>

</filter-mapping>

struts.xml 是struts框架的核心配置文件,主要负责配置业务控制器action。  struts.xml 支持模块化,可以将action按模块功能配置在多个配置文件中,之后用include元素导入其他配置文件。这样便于提高struts.xml的可读性。

<struts>

        <!--通过constant元素配置struts2的属性-->

        <constant  name= "struts.custom.i18n.resources"  value="message1,message2"/>

        <!--value的值指定多个的时候用逗号隔开-->

        <package  name = "user"   extends = "struts-default">

               <interceptor>

                      <!-- 通过interceptor,interceptor-stack 元素配置拦截器,拦截器栈 二者至少出现其一-->

                      <interceptor name = "拦截器名称1"  class = "拦截器类" />

                      <interceptor name = "拦截器名称2"  class = "拦截器类" />

                      <interceptor-stack   name = "myStack">

                              <interceptor-ref  name = "拦截器名称1"/>

                              <interceptor-ref  name = "拦截器名称2"/>

                              <interceptor-ref  name = "defaultStack"/>

                      </interceptor-stack>

              </interceptor>

              <!--配置action-->

              <action name ="user"  class = "com.UserAction">

                        <interceptor-ref name = "myStack"/>   <!--配置action的拦截器栈-->

                        <result >/login.jsp</result>    <!--name默认值是"success" -->

                        <result >/login.jsp</result>

              </action>

      </package>

</struts>