从永远到永远-Struts2自学

1、概念

1.1 是什么

web层框架,封装web层功能。

1.2 原理(感觉执行流程那边更好看)

在这里插入图片描述

1.3、入门案例,环境搭建

在这里插入图片描述
这里我使用的idea+maven 搭建环境,创建web项目,引入依赖,完善项目结构。
在这里插入图片描述
参考微博:https://blog.youkuaiyun.com/gaofengyan/article/details/84633223
功能实现了
在这里插入图片描述

1.4、配置文件分析

1、struts.xml文件
1、package:
			类似代码的包,区分action,在此标签内配置action。
			1)name属性:没什么功能,就是区分不同package,随便叫但不能重复。
			2)extends属性:固定这么写,表明package内类具有action功能。
			3)namespace属性:其值与action标签内的name属性值构成访问路径。不写默认就是/。

在这里插入图片描述

2、action标签:
		1)name属性:见上,一个package中可以写多个action标签,但是此name不能重复。(废话不然路径不都重了)
		2)class属性:action类全类名
		3)method属性:action类中默认执行execute方法,显然实际开发中不可能只写一个execute方法,这个属性配置不同的方法。
3、result标签: 根据action中方法返回值,配置到不同的路径里边。(页面或者action都可以)
		1)name属性:同action中方法返回值
		2)type属性:配置如何到路径中去(转发或重定向),默认转发。dispatcher,redirect
		如果是配置页面:

在这里插入图片描述

2、常量配置:

在这里插入图片描述
在这里插入图片描述
最常见的常量配置:
在这里插入图片描述

3、include
分块开发的一种思想:实际开发中,我们所有人都修改一个struts.xml文件显然是很不方便的。不同模块分别写一个struts相关噢诶之文件,最后在struts.xml中将其引入即可。
![在这里插入图片描述](https://img-blog.csdnimg.cn/2019101022470640.png)

1.5、执行流程

在这里插入图片描述
该框架最重要的要就是过滤器。
补充:
servlet在访问的时候初始化,过滤器在服务器启动时即初始化。
在这里插入图片描述
过滤器在服务器启动时创建,并执行init方法
1)init方法主要是加载配置文件(包含手动创建的(struts.xml、web.xml)和Struts2默认的文件)

1.6、关于Action

1、Action的三种编写方式(第三种比较常用)

在这里插入图片描述

2、Action 方法的返回值
1、 可以没有返回值,那么result可以不配置
		可以返回void,也可以返回none。
2、 如果有返回值,返回值必须是String。
3、Action 方法的访问
1、method属性普通配置,如果action中有多个方法会导致写的配置文件太多。
2、使用通配符(最常用)

在这里插入图片描述
!!!多个方法时,测试错误,需要再更正一下。

2、动态访问,说是不常用,我项目里也遇到了。

在这里插入图片描述

4、全局结果页面

在这里插入图片描述

局部优先级高于全局

5、获取表单数据

在这里插入图片描述

1)ActionContext:(2.5前后的获取内容都不一致)

struts 2.5之后应该获取的是HttpParameters,之前版本获取的应该是个Map
在这里插入图片描述

2)ServletActionContext:

先获取HttpServletRequest对象,之后与servlet那一套一样。

3)使用接口注入(了解即可)

在这里插入图片描述

6、Struts2获取表单数据

在这里插入图片描述

1)属性封装,实际开发应用不太现实,太麻烦。
2)模型驱动封装(重点)
在这里插入图片描述
在这里插入图片描述
3)表达式封装(可归类属性封装,不常用)

在这里插入图片描述

7、封装数据到list、map

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
p34 p35案例没看

1.7、OGNL表达式

1、概念

在这里插入图片描述

在这里插入图片描述

2、举个栗子

在这里插入图片描述

1.8、值栈

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

42-53没看

1.9、拦截器

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

自定义拦截器:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值