Struts2学习(一)

一、什么是Struts2?

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

二、常见的web层框架

  1、Struts2

  2、Struts1

  3、Webwork

  4、SpringMVC

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

三、入门

  1.下载安装包,解压即可。

  2.目录说明

    apps     : Struts2提供的应用,war文件:web项目打成war包。直接放入到tomcat可以允许。

    docs     : Struts2的开发文档和API

    lib         : Strtus2框架的开发的jar包

    src        : Struts2的源码

  3.使用Struts2

    3.1  创建web项目,引入jar包

    3.2  创建一个JSP页面

    3.3  编写Action的类

    3.4     对Action进行配置

    3.5  配置前端控制器(核心过滤器): web.xml

    3.6  配置struts.xml(在src路径下)

  4.stuts2的运行

     当用户访问某一个Action的时候,先经过核心过滤器,在核心过滤器中执行一组拦截器(这组拦截器实现部分功能),

   执行目标Action,根据Action的返回值,进行页面跳转。

  5. Struts2的配置文件加载顺序

    struts.xml  ---->   struts.properties  ----->   web.xml

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

  

Action的配置

1. package相关配置

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

  package标签的属性

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

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

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

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

  名称空间有三种写法:

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

    跟名称空间                             :namespance=”/”

    默认名称空间                         :namespace=””

 

2   action相关配置

  action标签的属性

    name                 :与namespace共同决定访问路径

    class                 :Action类的全路径

    method             :执行Action中的哪个方法的方法名,默认值execute

      converter          :用于设置类型转换器

3、Struts2的常量配置

  在Struts2的框架中,提供了非常多的常量:(在default.properties

    struts.i18n.encoding=UTF-8                        ----Struts2中所有的post请求的中文乱码不用处理。

    struts.action.extension=action,,                 ----Struts2请求的默认的扩展名。默认扩展名是.action或者什么都不写。

  在Struts2中修改一些常量的值:

    修改常量的值,可以有三个位置进行修正

    struts.xml中进行修改(推荐使用)

         

    struts.properties中进行修改;

    web.xml中进行修改;

 4.分模块开发的配置:include的配置:

      

5、Action的写法:(3种)

  ---自己编写Action类,即Action类是POJO的类

  ---实现Action接口

      

 

  ---继承ActionSupport类(推荐使用,可以使用父类的方法)

      

 

6、Action的访问设置方法(3种)

  ---通过method方法设置

  ---通过通配符配置(*****):method="{1}":表示第一个星号的内容,即是save

    

  ---通过动态方法访问

      

原文地址:https://www.cnblogs.com/dongtian-blogs/p/10575985.html