结果跳转方式
转发
重定向
转发到Action
重定向到Action
![](https://img-blog.csdn.net/20180122202433551?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvd2VpeGluXzM5NDcyMzQx/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
访问servletAPI方式
原理
通过ActionContext
通过ServletActionContext
通过实现接口方式
如何获得参数
扩展strutsMVC
Action生命周期
1.每次请求到来时,都会创建一个新的Action实例
2.Action是线程安全的.可以使用成员变量接收参数
属性驱动获得参数
对象驱动
模型驱动
集合类型参数封装
list
map
struts_day02
1.结果集
转发
重定向
转发Action
重定向Action
2.获得原生ServletAPI
ActionContext 数据中心
|-request
|-response
|-ServletContext
|-requestScope
|-sessionScope
|-applicationScope
|-params
|-attrs
....
//获得ActionContext
ActionContext.getContext();
|-requestScope
|-sessionScope
|-applicationScope
|-params
|-attrs
//获得ActionContext中原生对象的工具类
ServletActionContext
|-request
|-response
|-ServletContext
3.参数封装
属性驱动
|-Action准备与参数键同名属性
对象驱动
|-Action准备与参数键同名属性. xxx.yyy
模型驱动
|- 1.实现ModelDriven接口
|- 2.实现getModel方法.返回需要封装参数的对象
4.复杂参数封装
List集合
提交键: list
list[index]
Map结合
提交键: map['key']