为什么一定要知道整合后的执行流程呢?
在深度了解框架以后,才能在项目运行以后,报错的时候,能够很快的找到问题所在。
SSH框架的项目执行流程:(文字解析)
1.服务器启动,创建Struts2的过滤器的控制器,创建春容器对象。
实例化Struts2的控制器时,加载struts.xml中,支柱-default.xml中,default.properties,支柱-的plugin.xml等Struts的相关配置
实例化春容器时,加载applicationContext.xml中
2.客户浏览器发送请求,请求到达Struts2的的过滤器控制器
3.如果是动作请求,Struts2的控制器根据struts.xml中的<动作>配置,
要调用一个动作对象处理。
4.Struts2控制器调用支柱 - 弹簧 - plugin.jar提供的的ObjectFactory
获取一个操作对象。
方法一:ObjectFactory的利用<操作>元素的类属性去春容器寻找ID =类的豆对象。
*方法二:如果按上述方法找不到,ObjectFactory的会利用类指定值创建一个对象然后将春天容器的DAO,服务按名称匹配规则给行动注入。
5.Struts2控制器调用操作执行业务处理,处理完毕,返回一个字符串标识
6.Struts2控制器根据字符串标识调用结果组件,生成响应信息
7.将响应信息给客户浏览器输出,完成响应处理。