JSpider学习一 —— 基础

来源:互联网 发布:天使之翼 网络大电影 编辑:程序博客网 时间:2024/05/16 23:48

    为了更好的掌握Java,我开始学习JSpider这个开源软件,希望能从它的设计和实现上,更清楚的认识Java,了解更多Java的设计和实现技巧,以点带线,以线带面,去了解更多自己需要学习的东西。

   作为开始,我下载并阅读了JSpider User Manual的前半部分,下载了源码。

    根据文档的说明编译源码,遇到了错误,参照http://blog.nunnun.jp/Jspider_WorkerThread_getState_returns_incompatible_type_with_Thread_getState.html和http://blog.csdn.net/chagaostu/article/details/6777786基本得到解决,只是在base64EncoderTest的错误上,我没有修改什么编码,只是把几个assert注释掉了,最后编译通过。

    总结一下JSpider的基本结构。

    在SPI层,分为Rules、Event Filters、Plugins三个部分。Rules定义了处理资源的规则;Event Filters过滤被处理的事件;Plugins处理特定的事件。

    在API层,有Events和Model两部分。Events是对系统涉及的事件的描述,Model是对涉及的所有资源的描述。

    在CORE层,有JSpider Core、Dispatcher、Storage三个部分。JSpider Core是JSpider提供的所有功能的实现,Dispatcher是对事件进行派发,Storage是对资源的存储。

    使用时基本的关系是JSpider Core开始运作,经由Dispatcher派发Events,然后通过Event Filters找到对应的Plugin进行处理,得到Model中的资源,存储到Storage中。

    上面是对JSpider的一个基本认识,下一步,将使用JSpider完成一些基本的功能,然后深入到代码层进行分析。

原创粉丝点击