struts2复习笔记
来源:互联网 发布:手机淘宝购买运费险 编辑:程序博客网 时间:2024/05/17 08:13
struts2.3.24框架
struts2.3.24框架 运用在web层 是在struts1框架和webwork基础上全新的框架
struts2.3.24解决的问题
1.如果功能很多,就会写很多servlet,造成维护不方便,struts2使用过滤器去拦截不同的请求,去执行不同的方法
2.Spingmvc框架 也是运用在web层
struts框架入门
第一步导入jar包
第二步执行action
第三步配置action访问路径
要创建struts核心配置
struts基本执行过程
请求到过滤器web.xml。过滤器是在服务器启动时就创建了,servlet在第一次访问才创建
在过滤中执行功能有
获取请求路径
得到路径hello那个值
到src下面找到struts.xml,使用dom4j解析,得到xml文件中内容
拿着hello得到xml文件找到action标签。匹配name属性值是否一直。
如果一致,再找那么属性所在的action标签中另一个属性class值,
得到全路径
使用反射实现功能
class clazz=Class.froName("action路径");
得到名称是execute的方法
Method m=clazz.getMethod("execute");
Object obj=m.invoke();
得到action的返回值
在struts.xml文件中,找到action标签中
找到result标签,匹配result标签的name属性值是否一致
如果一样,跳转到配置页面中
查看过滤器中的源代码
它本身是一个过滤器shareprepareandexecutefilter
1.过滤器是在服务器启动时创建 执行init方法
在init中主要加载配置文件
包含自己创建的配置文件还有struts配置的文件
struts核心配置
标签package
区别不同的action
name属性
和功能本身没有关系的 在一个配置文件中可以写过个package
name的属性值不相同
extends
表示一种继承
属性值是固定的
写这个属性值之后,在package里面配置类具有action功能
namespace
属性值和action标签里面name的属性构成访问路径
标签action
name属性值就是访问的路径
class属性值就是action的全路径
method属性
比如在action里面默认执行的是execute
让action中多个方法执行,可以在method中配置
标签result
到不不同的页面
name的属性值
type属性 默认是转发
type="dispatcher" 重定向
可以配置其他的action
chain 转发到action 一般不用,可能有缓存
redirectaction 重定向action
进行常量的配置
<constant> 如果是编码配置的话,只对post请求起作用
分模块开发
action三种编码方式
一 写一个普通类
二 写一个类去继承actionsupport
三 写一个类去实现action
action访问三种方式
method
通配符
name=“user_*” method="{1}"
动态访问
首先你先配置一个常量支持动态配置
结果页面配置
如果有多个action,方法返回的值相同的,返回的路径也相同,可以用全局路径配置
全局页面的配置
要写在package里面
<global-results></global-results>
在action获取表单提交的数据
actioncontext
servletactioncontext
接口注入的方式
用struts封装的方法获取表单提交的数据
属性封装
private String name;
{get;set;}get方法可以不写出来
模型驱动封装
实现接口modeldriven
实现方法getmodel
在action手动创建实体类对象
表达式封装
在action中声明实体类
生成setget方法
在表单name属性值里面写表达式形式
使用模型驱动和属性封装注意的问题
两者不能同时使用获取同一个表单的数据
servlet和action区别
servlet是单实例对象
action是多实例对象
值栈存在于每一个action对象中
值栈的内部结构
root list
我们一般只取root里面的内容
context map
向值栈中存放数据的三种方式
set方法
push方法
在action中定义变量,设置变量的get方法
推荐使用第三种方法存值
向值栈中放入对象
在action中定义对象常量
生成get方法
向值栈对象常量赋值
向值栈中放入list集合
从值栈中获取字符串
<s:property value="username"/>
从值栈中获取对象
<s:property value="user.username"/>
从值栈中获取list
有三种获取方式
第一种
<s:property value="list[0].username"/>
第二种
<s:itater value="#list" >
<s:property value="username"/>
</s:itrater>
第三种
<s:itater value="list" var="usr">
<s:property value="#user.username">
</s:iterator>
拦截器的概述
1.struts2是框架 封装了很多功能。都是在拦截器里面
2.struts2有很多拦截器,每次执行默认的拦截器
3.struts2里面默认拦截器的位置
拦截器在什么时候执行
action创建之后,方法执行之前
拦截器的原理
aop思想
面向切面编程,有基本功能,扩展功能,不通过修改源代码方式扩展功能
责任链模式
要执行多个操作,添加 修改 删除操作
aop思想和责任链如何应用到拦截器中
拦截器在action对象创建之前,action方法之后
在action方法执行之前执行默认拦截器,执行过程使用aop思想
在执行拦截器时候,执行很多的拦截器。这个过程使用责任链模式
过滤器是在服务器创建时,就创建
过滤器和拦截器区别
过滤器 过滤器理论上可以过滤任何内容 html jsp servlet 图片路径
拦截器 拦截器只可以拦截action
servlet和action区别
servlet 默认第一次访问时创建,创建一次,单实例模式
action 每次访问时,就创建,创建多次,多实例模式
自定义拦截器
拦截器结构
继承一个类abstractintercept
abstractintercept实现一个接口intercept
里面有三个方法
init
destroy
intercept
在实际开发中使用一个类继承methodfilterintercept,让action方法进行不拦截
声明拦截器
引用拦截器
struts2.3.24框架 运用在web层 是在struts1框架和webwork基础上全新的框架
struts2.3.24解决的问题
1.如果功能很多,就会写很多servlet,造成维护不方便,struts2使用过滤器去拦截不同的请求,去执行不同的方法
2.Spingmvc框架 也是运用在web层
struts框架入门
第一步导入jar包
第二步执行action
第三步配置action访问路径
要创建struts核心配置
struts基本执行过程
请求到过滤器web.xml。过滤器是在服务器启动时就创建了,servlet在第一次访问才创建
在过滤中执行功能有
获取请求路径
得到路径hello那个值
到src下面找到struts.xml,使用dom4j解析,得到xml文件中内容
拿着hello得到xml文件找到action标签。匹配name属性值是否一直。
如果一致,再找那么属性所在的action标签中另一个属性class值,
得到全路径
使用反射实现功能
class clazz=Class.froName("action路径");
得到名称是execute的方法
Method m=clazz.getMethod("execute");
Object obj=m.invoke();
得到action的返回值
在struts.xml文件中,找到action标签中
找到result标签,匹配result标签的name属性值是否一致
如果一样,跳转到配置页面中
查看过滤器中的源代码
它本身是一个过滤器shareprepareandexecutefilter
1.过滤器是在服务器启动时创建 执行init方法
在init中主要加载配置文件
包含自己创建的配置文件还有struts配置的文件
struts核心配置
标签package
区别不同的action
name属性
和功能本身没有关系的 在一个配置文件中可以写过个package
name的属性值不相同
extends
表示一种继承
属性值是固定的
写这个属性值之后,在package里面配置类具有action功能
namespace
属性值和action标签里面name的属性构成访问路径
标签action
name属性值就是访问的路径
class属性值就是action的全路径
method属性
比如在action里面默认执行的是execute
让action中多个方法执行,可以在method中配置
标签result
到不不同的页面
name的属性值
type属性 默认是转发
type="dispatcher" 重定向
可以配置其他的action
chain 转发到action 一般不用,可能有缓存
redirectaction 重定向action
进行常量的配置
<constant> 如果是编码配置的话,只对post请求起作用
分模块开发
action三种编码方式
一 写一个普通类
二 写一个类去继承actionsupport
三 写一个类去实现action
action访问三种方式
method
通配符
name=“user_*” method="{1}"
动态访问
首先你先配置一个常量支持动态配置
结果页面配置
如果有多个action,方法返回的值相同的,返回的路径也相同,可以用全局路径配置
全局页面的配置
要写在package里面
<global-results></global-results>
在action获取表单提交的数据
actioncontext
servletactioncontext
接口注入的方式
用struts封装的方法获取表单提交的数据
属性封装
private String name;
{get;set;}get方法可以不写出来
模型驱动封装
实现接口modeldriven
实现方法getmodel
在action手动创建实体类对象
表达式封装
在action中声明实体类
生成setget方法
在表单name属性值里面写表达式形式
使用模型驱动和属性封装注意的问题
两者不能同时使用获取同一个表单的数据
servlet和action区别
servlet是单实例对象
action是多实例对象
值栈存在于每一个action对象中
值栈的内部结构
root list
我们一般只取root里面的内容
context map
向值栈中存放数据的三种方式
set方法
push方法
在action中定义变量,设置变量的get方法
推荐使用第三种方法存值
向值栈中放入对象
在action中定义对象常量
生成get方法
向值栈对象常量赋值
向值栈中放入list集合
从值栈中获取字符串
<s:property value="username"/>
从值栈中获取对象
<s:property value="user.username"/>
从值栈中获取list
有三种获取方式
第一种
<s:property value="list[0].username"/>
第二种
<s:itater value="#list" >
<s:property value="username"/>
</s:itrater>
第三种
<s:itater value="list" var="usr">
<s:property value="#user.username">
</s:iterator>
拦截器的概述
1.struts2是框架 封装了很多功能。都是在拦截器里面
2.struts2有很多拦截器,每次执行默认的拦截器
3.struts2里面默认拦截器的位置
拦截器在什么时候执行
action创建之后,方法执行之前
拦截器的原理
aop思想
面向切面编程,有基本功能,扩展功能,不通过修改源代码方式扩展功能
责任链模式
要执行多个操作,添加 修改 删除操作
aop思想和责任链如何应用到拦截器中
拦截器在action对象创建之前,action方法之后
在action方法执行之前执行默认拦截器,执行过程使用aop思想
在执行拦截器时候,执行很多的拦截器。这个过程使用责任链模式
过滤器是在服务器创建时,就创建
过滤器和拦截器区别
过滤器 过滤器理论上可以过滤任何内容 html jsp servlet 图片路径
拦截器 拦截器只可以拦截action
servlet和action区别
servlet 默认第一次访问时创建,创建一次,单实例模式
action 每次访问时,就创建,创建多次,多实例模式
自定义拦截器
拦截器结构
继承一个类abstractintercept
abstractintercept实现一个接口intercept
里面有三个方法
init
destroy
intercept
在实际开发中使用一个类继承methodfilterintercept,让action方法进行不拦截
声明拦截器
引用拦截器
阅读全文
0 0
- Struts2复习笔记
- struts2复习笔记
- struts2复习笔记
- 黑马程序员--Struts2复习笔记
- Struts2的笔记整理与复习
- 超全面 struts2 复习总结笔记
- struts2复习
- struts2复习首次记录
- struts2配置复习
- Struts2复习点
- struts2 复习小知识点
- Struts2复习专题
- Struts2大复习
- struts2基础复习
- struts2复习1
- struts2复习2 helloworld
- Struts2 回顾与复习
- struts2复习汇总
- 1001 Robberies
- 常见CSS布局
- Spark学习
- 高级MVP架构封装演变全过程
- sublime-text3按tab跳出括号
- struts2复习笔记
- MNIST实战
- 校内一(1)
- 二战大众点评,斩获软件工程师 offer
- JAVA学习周总结
- springMVC文件上传以及用ajax方式提交
- PHP函数漏洞集合
- 《快速阅读》 -豆瓣评分8.0
- 用户级线程和内核级线程(转)