Struts2框架入门学习

1、Struts2框架入门


目录

1、Struts2框架入门

 

 1.1 什么是Struts2框架?

1.2 为什么用Struts2框架?

1.3 如何适用Structs2框架?

1.3.1 Struts2框架的下载

1.3.2 Struts2框架Jar包引入

1.3.3 创建请求jsp界面

1.3.4  创建Action类(返回值success用于界面跳转)

1.3.5 对Action进行配置(src目录下创建struts.xml配置文件)

1.3.6 配置过滤器(web.xml中配置)

1.3.7 添加页面跳转jsp

1.4 深入了解Struts2访问跳转流程

1.5 Struts2的配置文件加载顺序(了解)

1.6 Struts.xml文件配置详情

package标签            :为了更好管理action的配置。

include标签             :用于添加其他struts.xml文件,便于分模块开发。

constant标签           :配置struts2的常量信息

action标签:配置Action类的信息

1.7 Action类的3中写法

1.7.1 POJO类形式(plain ordinary java object)

1.7.2 实现Action类的接口

1.7.3 继承ActionSupport类(推荐)

1.8 Action的访问

1.8.1 通过method设置

1.8.2 通过通配符的方式进行配置(推荐)

1.8.3 动态方法访问


 1.1 什么是Struts2框架?

Struts2框架入门学习_第1张图片

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

 


1.2 为什么用Struts2框架?

         Struts2框架是一种Web层的框架,常见的web层框架还有Struts1 、Webwork、SpringMVC 等,Web层框架是基于前端控制器模型设计的,如下图所示:

Struts2框架入门学习_第2张图片

 

说明:可见Struts2框架实质上就是代替了Servlet,避免了Servlet频繁的配置,也是企业级的web框架,随着SpringMVC框架的崛起,目前Struts2市场份额缩水了,而最热的当属SpringMVC框架;不过Struts2的框架技术原理值得大家来学习,通过Struts2框架的学习进而掌握web层的框架原理是非常必要的。

 


1.3 如何适用Structs2框架?

1.3.1 Struts2框架的下载

官网下载Struts2.3.24http://struts.apache.org/,下载后目录:

Struts2框架入门学习_第3张图片

 

解压Struts2.3.24—all后目录:

  1. apps:      Struts2提供的实际应用,war文件;war文件是web项目的压缩文件格式(类似jar包),可以在tomcat中直接运行。
  2. docs:        Struts2的开发文档与API
  3. lib:             Struts2框架的jar包
  4. src:            Struts2框架源码

 

 

1.3.2 Struts2框架Jar包引入

首先创建java web项目(struts2Study),提前将apps目录下的文件导入tomcat中再启动tomcat就可以看到对应的struts2-blank项目了,这个项目是Struts2的基本配置的java web项目,接下来按照这个项目来配置我们自己创建的struts2Study项目就可以了。

引入jar包如下:

Struts2框架入门学习_第4张图片

 

 

1.3.3 创建请求jsp界面

 

 

1.3.4  创建Action类(返回值success用于界面跳转)

Struts2框架入门学习_第5张图片

 

 

1.3.5 对Action进行配置(src目录下创建struts.xml配置文件)

Struts2框架入门学习_第6张图片

 

 

1.3.6 配置过滤器(web.xml中配置)

Struts2框架入门学习_第7张图片

 

 

1.3.7 添加页面跳转jsp

 


1.4 深入了解Struts2访问跳转流程

Struts2框架入门学习_第8张图片

        

         当用户在请求jsp页面发出action请求后,struts2的核心过滤器会开始工作执行一组拦截器(这组拦截器实现部分功能——查找struts.xml文件相应的设置),跳转到指定的Action中并执行相应的方法(默认是execute()),在根据方法的返回值在struts.xml中查找页面跳转路径,最后实现页面跳转。

 


1.5 Struts2的配置文件加载顺序(了解)

Struts2框架入门学习_第9张图片

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

 

加载顺序为:注意:后配置的常量的值会覆盖先配置的常量的值。

  1. default.properties
  2. struts-default.xml
  3. struts-plugin.xml
  4. struts.xml
  5. struts.properties
  6. web.xml

 


1.6 Struts.xml文件配置详情

package标签            :为了更好管理action的配置。

 

  1. name                 :包的名称,只有在一个项目中不重名即可。
  2. extends             :继承哪个包,通常值为struts-default
  3. namespace      :名称空间,与标签中的name属性共同决定访问路径。
    1. 名称空间有三种写法:
      1. 带名称的名称空间                   :namespace=”/aaa”
      2. 跟名称空间                       :namespance=”/”
      3. 默认名称空间                            :namespace=””
  4. abstract            :抽象的,用于其他包的继承。

 

include标签             :用于添加其他struts.xml文件,便于分模块开发。

  1. file:     配置包含struts.xml文件路径

 

constant标签           :配置struts2的常量信息

  1. name: 配置的常量指定的名字
  2. value:    配置的常量(例如:true、action等)

         当然在web.xml中也可以配置常量信息,一般不常用:

Struts2框架入门学习_第10张图片

action标签:配置Action类的信息

    1. name                 :与namespace共同决定访问路径
    2. class                            Action类的全路径
    3. method             :执行Action中的哪个方法的方法名,默认值execute
    4. converter          :用于设置类型转换器

 


1.7 Action类的3中写法

 

1.7.1 POJO类形式(plain ordinary java object)

Struts2框架入门学习_第11张图片

 

1.7.2 实现Action类的接口

Struts2框架入门学习_第12张图片

 

1.7.3 继承ActionSupport类(推荐)

Struts2框架入门学习_第13张图片

 


1.8 Action的访问

 

1.8.1 通过method设置

Struts2框架入门学习_第14张图片

 

1.8.2 通过通配符的方式进行配置(推荐)

1.8.3 动态方法访问

    开启动态方法访问

     编写访问路径

Struts2框架入门学习_第15张图片

 

提示:理解sturts2的各种配置是很重要的;切记,千万要自己动手操作一下。


下接Struts2深入部分:https://blog.csdn.net/biggerchong/article/details/84564912

                                                                                                   ------谢谢阅读!          -------知飞翀

你可能感兴趣的:(服务器及框架学习笔记)