仿百度文库

主要技术要点:
一、框架架构
Spring3:管理javaBean
struts2:前后台交互
ibatis:Oracle持久层交互
jquery:js框架

二、持久层:
lucene:全文搜索引擎
oracle10g:关系数据库

三、文件转换工具:
OpenOffice:Office文件转化为pdf文件的免费软件;
JODConverter:OpenOffice的java调用工具;
上面两步我是参考http://titanseason.iteye.com/blog/1471606来实现的;
swftools:使用swftools工具包的pdf2swf将pdf转化为swf文件;
使用java runtime.exec()直接调用swftools安装包下的pdf2swf.exe即可;

四、文件读取工具
Poi:读取Office文件内容并返回String字符串;
PDFbox:读取PDF文件内容并返回String字符串;
我是参考http://javacrazyer.iteye.com/blog/621960来做的;
这个是为了将文档的内容读取出来,并以字符串形式传给lucene建立索引

五、作业调度
quartz:org.quartz.Job接口实现定时作业调度;
初步实现了三个Job:
convertPdfJob.java:三分钟执行一次,负责将Office文件转化为Pdf文件;
convertSwfJob.java:三分钟执行一次,负责将Pdf文件转化为swf文件;
上面两Job完成后,不需下载就可以在html上查看上传的文档了;
docIndexJob.java:三分钟执行一次,负责将新上传的文档传入lucene进行索引;
第三个Job完成后,就可以全文检索到该文档了;

六、js工具
swfobject.js:将swf文件插入HTML中
jquery.validate.js:表单验证

七、web服务器:
Jetty:基于java的内嵌服务器


源码就不上传了,辛苦写了好久,有点不舍掉了~









你可能感兴趣的:(百度文库)