跟踪源码思路小结

        学习的时候跟踪源码都是对一个比较了解的源码跟踪。现在要进行一个以前没有接触过的东东进行源码跟踪。经过这个项目,也算学习到一点东西吧。

       最近做的项目是在openfire和spark的基础上进行再开发的一个项目。一开始我只负责后台管理,对于openfire接触的不多,最近一周又解决了几个spark的问题,于是对openfire和spark的源码都进行了跟进。虽然了解并不多,但是作为自己的成长,有必要以博客的形式进行记录整理。这样也是学习的一个过程。

         项目很紧急,这不免让我多少没有了底气,同时也抱着一种十分happy的心态,一方面可以真正知道自己到底有没有一种可以应对“紧急”项目的能力,另一方面,多少接触了点新东西,可以算作是学习。吸收新东西感觉比较爽。

         分工完成以后,我负责的模块中有用户导入功能,这同时也需要与openfire进行交互,否则客户端就无法登录了。探索openfire的源码的第一步也就开始了。

          我需要做的很简单,就是看看openfire在客户端注册和在后台管理员添加用户的时候是怎样处理的。我所走过的弯路就不再赘述,下面讲解在同事的提醒之下摸索到的路径。

          1、首先要知道自己要寻找的功能模块(这一点我做到了)

           2、寻找源码入口,这一点也是最难的。

           做惯了web,对于客户端怎样寻找入口的确不懂,于是我就从web后台管理员添加用户入手。说到这里就进入到自己的专长了。

         (1)、找到jsp页面,根据页面上的文字,进行搜索,找到添加用户的方法。要命的是:此源码是完全jsp-bean模式。

         (2)、jsp页面跟踪源码就比较困难了,不能debug。但是一步一步还是找到了相关的类。这个过程是相当复杂的,因为太多的相关类了,还有很多的过滤器、拦截器等,跟踪了很久不清楚到底哪个是最核心的。但是知道了大概了。

        (3)、在此,用客户端添加了一个用户,发现与在后台添加用户有少许不同。

        (4)同事说:主要看看它是如何操作数据库的。于是,我再次进行跟踪,发现在后台添加用户是操作两个表,在客户端进行注册的是操作一个表。但是不太相信,于是进入数据库,查看了各个表的确是这样的。放心的进入下一步。

        (5)、用户密码是加密的,这部分又进入了各种跟踪,倒是没有什么特别困难。

          至此,第一次跟踪源码完成。


             第二次是跟踪spark了。这块比较费劲。源码反编译插件都找不到源码,从spark到openfire的入口很难寻找,一方面通过反编译软件查看源码过程,一方面根据报错信息查看代码走过的过程,还有就是根据数据库信息了。


         结语:本想总结一下思路,但是发现很难描述出来。总结最重要的收获就是:源码,多跟,跟多了,再去看别的源码就有了思路了。哈哈。很多东西融入了自己的血液中,不容易表达。若有机会,再次总结吧。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值