黑马-ssh
插件
Struts-plugin.xml
说明:
Struts-plugin.xml文件是在tomcat服务器启动的时候加载的
该配置文件在classpath的根目录下
在每一个含有plugin字母的jar包的根目录下有一个struts-plugin.xml文件
当tomcat启动的时候,就把所有的含有plungin的jar包的该配置文件就加载了。
struts2启动时候的时序图
struts2启动的时候 执行web.xml中的 核心过滤器filter类 ,filter类执行init初始化方法,init方法调用 InitOperations类的initDispatcher方法返回类型 是dispatcher,
initDispatcher进去后方法调用Dispatcher类的init方法,
init方法进去后调用init——DefaultProperties方法
, 新建了一个DefaultPropertiesProvider();,rigister方法加载了配置文件org、
Dispatcher类执行init_DefaultProperlies()方法后,执行,init_Traditional方法
init_Tradi中的 配置文件路径
struts2核心流程
url访问 核心过滤器的doFilter方法
编码 prepare setEncoding
核心 serviceAction 执行2个核心方法 1init 2execute
最后部 清空
总结
tomcat启动的时候ssh做的事情
启动调用监听器 web.xml
初始方法
web.xml中filter
总结
整合原理-启动
ssh整合的目的
问题
1、 struts2的action为什么必须交给spring容器产生?
Action与service要做到完全的松耦合,所以在action中的service必须由spring容器进行注入,那么要完成该注入,action必须在spring容器中。所以action必须由spring容器产生。
2、 在整合的整个过程中,spring容器用到了哪些知识点?
1、 为了松耦合action与service,service与dao,使用了ioc和di
2、 为了不让程序员接触到事务,使用了声明式的事务处理
3、 有可能会用springaop处理权限、日志等内容
3、 在整合的过程中,struts2用到了哪些知识点?
1、 mvc的作用
2、 使用插件的机制使得struts2与spring整合在一起了,实际上就是把
Struts2中的action交给spring处理了。
4、 在整合的过程中,hibernate充当了什么角色?
数据库的操作由hibernate充当
opensessioninview