struts源代码阅读(struts 初始化)

我在几个月前曾经发表过一个帖子,就是和大家一起学习struts源代码。成为一名合格的程序员,阅读大量的优秀程序是必不可少的。只看书是不会让你水平有很大提高的,要多看多写。
本来是打算等下面几篇文章写好后一起发布的,这样大家可能才能看得明白些,但是根据我现在的状况,估计还要一、两个月。所以,为了防止在struts源代码发生过大变化后我的文章就没有太大价值了,所以就提前发表了,霍霍~~~
我的email为:mariah_fan@hotmail.com,有什么不对的地方请大家指正:)
struts作为J2EE的MVC框架已经取得了很大的成功,下面将分几篇文章说明struts源程序的结构。
第一篇 struts的初始化

struts 的核心类是org.apache.struts.action.ActionServlet,这个类将会在struts第一次使用时,
作为servlet初始化并存入tomcat容器。很显然的,初始化将会调用init方法初始化相应的数据。

一、initInternal()方法:
通过调用MessageResources.getMessageResources(internalName)方法生成一个
MessageResources类,getMessageResources是通过调用MessageResourcesFactory.
createResources(config)来实现的。至于MessageResourcesFactory是一个abstract类,任何
继承自它的类都要实现createResources方法,生成MessageResources对象。整个程序生成
MessageResourcesFactory使用了如下技巧:
MessageResourcesFactory.factoryClass = factoryClass;
MessageResourcesFactory.clazz = null;
首先会通过factoryClass来定义一个类全名,然后通过ClassLoader.loadClass
(factoryClass)方法来生成这个类,并赋给clazz,然后通过newInstance来生成一个对象。
在本程序中,生成MessageResources对象实际就是对如下属性进行了初始化:
this.factory = factory;("org.apache.struts.util.PropertyMessageResourcesFactory")
this.config = config;("org.apache.struts.action.ActionResources")
this.returnNull = returnNull;(true/false)

对于MessageResources类的作用是根据不同的Locate来格式化相应的string。或者把你需要改变
的string存放到数组中,然后通过getMessage(Locale locale, S

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/16629/viewspace-78722/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/16629/viewspace-78722/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值