在tomcat启动的时候,就加载web.xml文件执行servlet.class,找到这个映射的文件调用ActionServlet,
在这个类中继 承了HttpServlet对象,它具有servlet的生命周期,所以先执行init()方法,init方法中又封装了
一系列的初始化方法,inininternal(),initOther(),initServlet(),initChain();
首先执行inininternal(内部资源文件)例如初始化内部的警告信息和一些提示信息,国际化等。
接着执行initOther()方法:从servlet中获取config和debug两个参数,然后初始化ConvertUtils对象。
由于 ConvertUtils.deregister()的初始化,所有的Converter都是有初始值的,所以这里Struts自己
把这些初始值设置为null,即转换出错的时候返回null,而不是初始值。使用ConvertUtils类的
原因是由于从form传输过来的都是String类型的值,所以我们要把它们转换成相应的类型。
initServlet()方法,这是首先得到了servlet的名字,然后new一个digester的对 象,
通过这个对象连接了xml与object之间的联系与转化,把一个xml文件加载到一个对象中去
这样就是依靠这个digester对象的转化关 系,digester.push(this);然后将这个对象push到这个digester中去
通过流将文件从硬盘上读取出来,加载到内存中
接着就执行initChain()方法初始化这个链,给用的到的方法都去初始化一次,通过command执行个链
中的每一个方 法,在加载这个链引用了第三方jar包,digester在通过流将文件读取到内存中,然后在从
内存中给config和formbean和通过 digester框架把以xml文件转化为object对象,最后将这个对象加
载到application对象中,初始化就完成了。
struts1的初始化过程
最新推荐文章于 2016-10-15 15:55:31 发布