Struts2 介绍和应用

来源:互联网 发布:朝鲜人眼中的中国知乎 编辑:程序博客网 时间:2024/06/03 16:38

Struts 

Struts2是一种基于MVC模式的轻量级的web框架. 前端控制器是一个filter

Struts2的优势:

项目开源,使用及拓展方便,天生优势

提供Exception处理机制

Result方式的页面导航 通过Result标签很方便的实现重定向和页面跳转

通过简单 集中的配置来调度业务 使得配置和修改都非常容易

提供简单 统一的表达式语言来访问所有可供访问的数据

提供标准 强大的验证框架和国际化框架

提供强大的 可以有效减少页面代码的标签

提供良好的Ajax支持



Struts.xml 中的标签

 constant标签

作用: 用于修改struts2中的常量

属性: name: 指定常量的key

        value:指定常量的值

package标签

作用: 在struts2的配置文件中引入了面向对象的思想 使用了分包管理 易于管理动作类,便于模块化开发动作类

属性:name  包的名称 必须写 且必须唯一

  exedends:  一般情况下 需要继承 struts-default 包, 但不是必须的 如果不继承 无法使用struts提供的核心功能,

abstract:  把包声明为抽象类,抽象包就是用来被继承的,只要是没有<action>元素的包 就可以声明为抽象包

namespace:  名称空间 他的作用就是把访问的URL按照模块化来管理 

名称空间的写法: 必须以/开头

   后面可以是字母和数组的组合,也可只有字母

  如果有数字的话,数字不能作为/后面的第一个字符

    当我们指定了名称空间后 访问的url就变成了;  名称空间 + action标签的name属性取值



action标签

作用:  建立动作名称和动作类以及动作方法的对应关系

属性:  name :  指定的动作名称   和页面中url后面保持一种  注意此处不能后缀 动作名称必须是唯一

  class 指定的是动作类和全限定类名

  method   指定的是动作的方法名称


action 定义的动作类和动作对应的关系:

三种方式:

1全部都要写

2  通配符 *-* ,  {1}{2}

3  动态方法调用 

            需要开启动态方法调用(default.properties)

<a href="/user!addUser"></a>
<action  name="user" class="cn.itcast.action.UserAction"></action>


动作类:

定义动作类有三种方式:

1 一个实体类

2 继承actionsupport

3 实现action接口



Result标签

作用 :为动作指定结果视图

属性 : name: 逻辑视图的名称 对应着动作方法的返回值 默认值为success

type : 结果类型 指的就是用什么方式转到定义的页面, 默认值为dispatcher

type的常用取值:

dispaecher(默认值) 使用请求转发 转向一个页面

redirect:    使用重定向 转向一个页面 它可以重定向到另外一个动作

redirectAction    使用重定向  前往指定的动作


配置全局视图

局部结果视图和全局结果视图

配置在action标签内的result  我们称为局部结果视图 它只能由当前action使用

全局结果视图

在父包的global-results标签中定义的result叫做全局结果视图

只要动作类所在的包继承了这个父包 就可以使用


在struts中获取四大域对象

Appliction          --ServletContext   所有用户都访问同一个appliction 

Session           ----- HttpSession  每个用户都有一个会话  每个session都不相同

Request------HttpRequest    一次请求

Responce-----HttpResponce 


参数封装

属性驱动:

有实体类:   属性封装到实体类中  实体类和动作类在一起

没有实体类:  属性和动作类在一起

模型驱动:

参数封装 模型驱动

需要实现一个ModelDriven接口  泛型接受一个实体类的类型

需要实现getModel方法

必须实例化对象


原创粉丝点击