您的位置:首页 > 编程语言 > Java开发

Struts2入门基础小结!

2017-09-09 23:20 183 查看
Struts2
框架介绍

什么是 struts2 框架,学习 struts2 框架的核心。Struts2 是一个基于 MVC 设计模式的 Web 应用框架,它本质上相当于一个

servlet,在 MVC 设计模式中,Struts2 作为控制器(Controller)来建立模型与视图的数据交互,Struts2=struts1+webwork .


怎样使用 strtuts2 框架?
首先要上网下载它的 jar 包。
步骤:
1.导入相关的 jar 文件
2.需要在 web.xml 文件中配置一个 Filter(只有配置了它才可以使用 struts2 框架)
3.struts.xml 配置
4.创建 Action 来完成逻辑操作

Struts2 框架执行流程


对于 struts2 框架它的源代码我们主要使用三部分

1. struts2 核心部分源代码 org.apache.struts2xxsrc\core\src\main\java

2. struts2 的 xwork 核心部分源代码src\xwork-core\src\main\java\com\opensymphony\xwork2

3. struts2 的插件的源代码src\plugins


Struts2 配置文件加载顺序

第一个加载的是 default.properties 文件

位置:struts2-core.jar 包 org.apache.struts2 包下

作用:主要是声明了 struts2 框架的常量

第二个加载的是一批配置文件

Struts-default.xml

位置:struts2-corl.jar

作用:声明了 interceptor result bean

Struts-plugin.xml

位置:在 struts2 的插件包中

作用:主要用于插件的配置声明

Struts.xml

位置:在我们自己的工程中

作用:用于我们自己工程使用 struts2 框架的配置

第三个加载的是自定义的 struts.properties

位置:都是在自己工程的 src 下

作用:定制常量

第四自定义配置提供

第五加载的是 web.xml 配置文件

主要是加载 struts2 框架在 web.xml 文件中的相关配置.

第六 bean 相关配置

重点掌握:

1.Default.properties

2.Struts-default.xml

3.Struts-plugin.xml

4.Struts.xml

5.web.xml


struts.xml 文件配置


package 配置

1.name 属性 作用:定义一个包的名称,它必须唯一

2.namespace 属性 作用:主要是与 action 标签的 name 属性联合使用来确定一个 action的访问路径

3.extends 属性 作用:指定继承自哪个包。一般值是 struts-defaultstruts-default 包是在 struts-         
default.xml 文件中声明的

4.abstruct 属性 它代表当前包是一个抽象的,主要是用于被继承


action 配置

1.name属性 作用:主要是与package的namespace联合使用来确定一个action的访问路径

2.class 属性 作用:用于指示当前的 action 类

3.method 属性 作用:用于指示当前的 action 类中的哪个方法执行


result 配置


它主要是用于指示结果视图


1.name 属性 作用是与 action 类的 method 方法的返回值进行匹配,来确定跳转路径

2.type 属性 作用是用于指定跳转方式

常量配置
default.properties 文件中定义了 struts2 框架常用常量 .
问题:我们怎样可以定义常量
1.可以在 src 下创建一个 struts.properties 配置文件
2.可以在 web.xml 文件中配置
3.可以直接在 struts.xml 文件中定义常量 (推荐)


注意:后加载的配置文件中的常量会将先加载的常量覆盖

Struts2 的 的 Action


Action 类创建方式( 三种)
1. 创建一个 pojo 类
Pojo(plani Ordinary java object)简单的 java 对象
Pojo 类就是没有实现任何接口没有继承任何类
优点:无耦合
缺点:所有的功能都要自己完成
2. 创建一个类实现一个 Action 接口
com.opensymphony.xwork2.Action


在 Action 接口中定义了五个常量,一个 execute 方法
五个常量:它们是默认的五个结果视图<result name=””>:
ERROR : 错误视图
INPUT: 它是 struts2 框架中 interceptor 中发现问题后会访问的一个视图
LOGIN:它是一个登录视图,可以在权限操作中使用
NONE:它代表的是 null,什么都不做(也不会做跳转操作)
SUCCESS:这是一个成功视图
优点:耦合度低
缺点:还是需要自己来完成功能
3. 创建一个类继承 ActionSupport 类
com.opensymphony.xwork2.ActionSupport
ActionSupport 类也实现了 Action 接口。


我们在开发中一般会使用这种方案:
优点:具有丰富的功能,例如 表单校验 错误信息设置 国际化
缺点:耦合度高


 
Action 的访问方式
1.直接通过<action>标签来配置,通过 method 来指定访问的方法,如果 method 没有,默认
   访问的是 execute 方法。

  2.简化的 action 访问方式,可以使用*通配符来访问。这种方式的缺点:不建议使用过多的*号,它


   带来程序阅读障碍,不便于理解使用*来简化操作方案,它对名称规范必须进行一个统一。


 扩展--动态方法调用(个人不建议使用动态方法调用)

Struts2 框架封装数据
主要解决的问题:是在 action 中如果获取请求参数
主要有两种方式:
1.属性驱动
a.直接在 action 类中提供与请求参数匹配属性,提供 get/set 方法
b.在 action 类中创始一个 javaBean,对其提供 get/set ,在请求时页面上要进行修改,例如
   user.username user.password ,要使用 ognl 表达式
以上两种方式的优缺点:
第一种比较简单,在实际操作我们需要将 action 的属性在赋值给模型(javaBean)去操作
第二种:不需要在直接将值给javaBean过程,因为直接将数据封装到了javaBean中。它要


    求在页面上必须使用 ognl 表达式,就存在页面不通用问题。

  2.模型驱动
步骤:
1.让 Action 类要实现一个指定接口 ModelDriven
2.实例化模型对象(就是要 new 出来 javaBean)
3.重写 getModel 方法将实例化的模型返回。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: