Struts2框架(1)

1.Struts2的概念

2.Struts2入门

3.Struts2的执行流程

4.Struts2的常见配置

           (1)xml的提示问题

           (2)Struts2的配置文件加载顺序

           (3)Action的配置

           (4)常量的配置

           (5)分模块开发的配置

5.Action的访问

           (1)Action的写法

           (2)Action的访问

1.Struts2的概念

  • Struts2是一个基于MVC设计模式的WEB层框架
    • Struts2的内核相对于Struts1来讲已经发生巨大变化。

常见的web层框架

  • Struts2
  • Struts1
  • Webwork
  • SpringMVC

Web层框架基于前端控制器模型设计

2.Struts2入门

(1)下载struts2的开发环境    http://struts.apache.org/

(2)解压struts2开发包

  • apps           :Struts2提供的应用,war文件:web项目打成war包。直接放入到tomcat可以允许。
  • docs            :Struts2的开发文档和API
  • lib                :Strtus2框架的开发的jar包
  • src               :Struts2的源码

(3)创建web项目,引入jar包

  • 引入jar包
    • struts-blank项目下找jar包

(4)创建一个JSP页面

(5)编写Action类

(6)对Action进行配置

在src下创建(提供)名称叫做struts.xml的配置文件

package里面name的值是可以随便取的,但是不能有重复

namespace与action中name的值合起来就是我们的路径,也就是下面的/hello.action

这里的extends里面的值是固定的

(7)配置前端控制器(核心过滤器)

在web.xml中进行核心过滤器的配置

(8)改写Action中的方法的返回值

(9)改写struts.xml

3.Struts2的执行流程

当用户访问jsp界面跳转到某一个Action的时候,先经过核心过滤器,在核心过滤器中执行一组拦截器(这组拦截器实现部分功能),执行目标Action,根据Action的返回值,进行页面跳转。

 

4.Struts2的常见配置

(1)xml的提示问题

(2)Struts2的配置文件加载顺序

  • init_DefaultProperties()                                ----加载default.properties
  • init_TraditionalXmlConfigurations();          ----加载struts-default.xml、struts-plugin.xml、struts.xml
  • init_LegacyStrutsProperties();                     ----加载struts.properties
  • init_CustomConfigurationProviders();  ----加载配置提供类
  • init_FilterInitParameters() ; // [6]              ----加载web.xml中过滤器初始化参数
  • init_AliasStandardObjects() ; // [7]           ----加载Bean对象
  1. default.properties
  2. struts-default.xml
  3. struts-plugin.xml
  4. struts.xml
  5. struts.properties
  6. web.xml

注意:后配置的常量的值会覆盖先配置的常量的值。

(3)Action的配置

           1)package相关配置

                    package标签称为包,这个包与Java中的包的概念不一致。包为了更好管理action的配置。

                    package标签的属性

                             1. name                 :包的名称,只有在一个项目中不重名即可。

                             2. extends             :继承哪个包,通常值为struts-default

                             3. namespace       :名称空间,与<action>标签中的name属性共同决定访问路径。

                                                              也就是namespace<action>标签中的name属性的值拼接起来就是具体的访问路径

                              名称空间(namespace )有三种写法:

                              带名称的名称空间                   :namespace=”/aaa”

                              跟名称空间                                :namespance=”/”

                              默认名称空间                            :namespace=””

                              这三种名称空间的写法从上到下也是找寻的先后顺序(<action>中name的值相同时)

                                4.abstract            :抽象的,用于其他包的继承。

  • action标签配置Action类。
  • action标签的属性
    • name                 :与namespace共同决定访问路径
    • class                  Action类的全路径
    • method             :执行Action中的哪个方法的方法名,默认值execute
    • converter          :用于设置类型转换器

(4)常量的配置

(5)分模块开发的配置

include的配置

在struts.xml中使用include就可以了

5.Action的访问

Action的写法

1.Action类是POJO的类,POJO类就是很单纯,纯粹的类。没有实现接口也没继承任何其他的类

2.Action类实现一个Action的接口

3.Action类继承ActionSupport类(开发中一般使用这个)

Action的访问

1.通过method设置

2.通过通配符的方式进行配置(*****)

这里的通配符*表示的是_后面.action前面的所有东西

method= “{1}”,表示的是通配符第一个*表示的值

3.动态方法访问

猜你喜欢

转载自blog.csdn.net/WinnerBear/article/details/88338363