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 方法将实例化的模型返回。
框架介绍
什么是 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 方法将实例化的模型返回。
相关文章推荐
- Struts2入门基础小结2!
- Struts2入门1 Struts2基础知识
- Struts2(七)基础小结
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- SSH框架入门(一)——Struts2基础及查错步骤
- 【转】VB6 GDI+ 入门教程(5)—— 基础绘图小结
- Android基础入门教程——8.1.1 Android中的13种Drawable小结 Part 1
- Android基础入门教程——8.1.3 Android中的13种Drawable小结 Part 3
- Struts2与MVC基础入门
- SVC学习小结-SVC入门知识和JSVM基础实验
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- [Python入门及进阶笔记]Python-基础-列表及列表解析小结
- [Python入门及进阶笔记]Python-基础-字典小结
- maven基础教程(maven视频)之快速入门小结3
- Struts2入门基础之struts的简介和体系结构(二)
- iOS部分-UI基础控件 - 01天 入门 第04课 加法计算器小结
- [Python入门及进阶笔记]Python-基础-字典小结
- JavaWeb基础—MySQL入门小结
- [Python入门及进阶笔记]Python-基础-文件处理小结
- java 从零开始,学习笔记之基础入门<Struts2_Spring_整合>(四十一)