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完成一些基本的功能,然后深入到代码层进行分析。
- JSpider学习一 —— 基础
- JSpider学习二 —— 应用示例
- JSpider学习四 —— Spider
- JSpider学习五 —— WorkerThreadPool
- JSpider学习三 —— 启动代码分析
- JSpider学习六 —— DispatcherThread和WorkerThread
- JSpider学习七——调试SpiderImpl的crawl
- JSpider学习笔记 ( by quqi99 )
- JSpider学习笔记(1)
- 学习笔记——计算机网络基础【一】
- mini2440学习笔记一 —— 基础
- Binder学习一——基础数据结构
- mongodb学习(一)——基础入门
- jsTree学习(一)——基础
- python学习(一)——基础
- 蜗牛—Java基础之学习(一)
- 蜗牛—ORACLE基础之学习(一)
- Maven基础学习(一)—Maven入门
- AIX系统日志学习笔记之二
- javascript(js)的小数点乘法除法问题
- 给你的web站点安装日志分析器
- SQL判断
- js小数计算小数点后显示多位小数
- JSpider学习一 —— 基础
- Byval和ByRef
- GDB中应该知道的几个调试方法
- cfiledialog and tip问题的讨论
- AIX系统日志学习笔记之三
- 在Eclipse中调试运行launcher源码之系列文章
- 深入理解C语言
- Spket在Eclipse/MyEclipse下的安装和配置(图文教程)
- LINUX内核的编译与更新