Struts2框架
1.Struts框架
servlet/jsp b/s
JSP Model1
JSP:数据的收集、展示以及大量业务逻辑
JAVA Bean:DAO数据的封装以及处理
高内聚,低耦合
JSP Model2
M:model(模型) 负责数据的封装,处理(entity,DAO,service)
V:view(视图) 负责数据的收集,展示(JSP)
C:controller(控制器) 协调模型与视图(servlet)
优势:
a.实现了模型的复用,除非业务发生改变,负责M只需要写一次。
b.M与V任何一方发生改变,不会影响另一方
c.方便测试
框架:封装了servlet,后台框架
struts1 webwork(x-work)
struts2
衡量框架的标准:
a.易用性,高
b.扩展性,高
c:稳定性,高
d.侵入性,低
(侵入性
这里涉及到一个设计方面的概念,就是耦合性的问题.
好的(这里好的标准是扩展性强)设计的标准是"高内聚,松耦合",侵入性强指的是耦合太强了.判断的标准就是当引入了这个组件导致其它代码或者设计要做相应的更改以适应新组件.这样的情况我们就认为这个新组件具有侵入性.
)
2.使用struts2框架开发一个web应用
a.新建一个web工程
b.引入jar包
c.配置前端控制器(注意,不能忘)--->负责请求分发
d.配置struts.xml文件
e.编写业务控制器Action ---》处理分发来的具体逻辑
3.localhost:8080/structs01/day01/hello.action
执行过程:
a.请求先经过前端控制器(FC)
b.FC根据struts.xml文件的配置信息查找业务控制器
---1)先根据/day01(namespace属性的值)确定package
---2)再根据hello与package之间的action匹配
---3)如果匹配成功,可以根据action标记中的class属性值确定业务控制器类路径
c.创建业务控制器对象,并且调用execute方法
d.根据execute方法返回的字符串决定调用哪一个result
e.根据result之间配置的视图路径,将页面输出
4.在Action中如何获取表单数据
方式一:基本类型注入
在Action中定义与表单name属性值相同的成员变量,并提供get/set方法
方式二:域模型注入
将表单中name属性的值封装到实体对象中,将来在Action里面定义该引用类型的变量,提供get/set方法
5.在页面中如何获取Action中的属性值
${Action中的属性名}