一、Java多人博客系统-开篇

  作为一个程序员,工作之外的不断学习是必须的。这个项目是我个人课外学习和练手的项目。最开始是一个个人网站。当时发现京东云可以免费部署网站的,就立即写了一个网站,当时就使用jsp技术,可以实现发布博客、评论博客、留言基本功能,首页展示了个人信息。数据库使用MySQL。通过git上传代码,部署成功后,在朋友中反响不错,访问和评论人很多。但是过了半年,京东云要收费了,我这个个人网站也就关停了。

  但是这个项目我一直保留了下来,并且不断进行完善,不断加入新的技术。先后使用了Spring MVC、Hibernate,以及其他EasyUI、ECharts等前端框架,后面又加入了ElasticSearch作为全文检索功能。还自己写了爬虫,可以抓取网上感兴趣的文章,保存到自己的博客中。功能越来越强大,也越来越完善,细节处理越来越好。一是想将该项目作为自己学习新技术的地方,学习到的新技术,在这个项目上实验下,新的想法,在这个项目上实现。既能学新知识,又能锻炼思维。二是想某个时候能将该项目应用到实际工作中,个人觉得技术公司应该有自己的博客的,一个部门建立一个博客,每个人有想法都可以去写一写,这不仅是对自己知识的总结,也是公司技术的积累,对新来的员工有极大的指导作用。希望有公司能够使用自己的博客系统。再者也是算对开源做出贡献吧,虽然各种开源项目很多,该项目写得也不是非常好,但是也算是可以作为其他人参考学习的材料吧。

  该博客系统将一直增加新的功能、新的技术,并长期作为自己的练习项目。

  截止2017年05月07号,项目进展如下:

  项目暂且命名为:EasyBlog,意为简单的博客系统。代码写得简单,界面也简单吧。想法也来源使用了EasyUI,所以博客也带Easy。

  主要技术:Spring MVC、Hibernate、Maven、EasyUI、Echarts、ElasticSearch、爬虫、MySQL

  开发工具:Ubuntu、Eclipse、git

  主要功能:

    1、首页博客的分页显示,博客分类,文章归类显示;

    2、用户可以评论、推荐博客;

    3、实现关键词搜索文章功能,可以实现标题和文章内容关键词搜索;

    4、后台对博客、博客类别、用户评论的管理,使用kindeditor编辑器实现写博客功能;

    5、使用ECharts作为统计图展现时间段发表博客数量,可以展示每天、每月、每年的博客发表数量;

    6、自己写了爬虫,爬取其他网站信息加入到自己的博客中。通过博客网站登录,可以设置关键词,后台自动进行抓取。

  由此项目也引申了另外两个开源项目:爬虫和Echarts封装。爬虫主要功能是根据关键词爬取感兴趣的文章,加入到自己的博客中。目前仅支持抓取博客园,因为每个网站页面结构是不同,需要对特定网站结构进行分析,抓取特定结构中的信息。后续再不断的进行完善,实现能够导入不同网站结构,实现对不同网站进行抓取。Echarts封装,是抽象了百度的Echarts,使得能够少写代码即可实现图形展示。

  项目中还写了Hibernate助手类、ElasticSearch助手类,可以拿出来直接使用。尤其是ElasticSearch助手类,网上比较好的助手类还比较少,尤其是高版本的(本项目中使用ElasticSearch5)。该助手类中实现了对索引的增删改查功能,提供多种搜索方法,可以实现and、or搜索,语法高亮等。使用方便快捷。

  爬虫源代码:https://github.com/leanfish2011/Crawler

  Echarts封装源代码:https://github.com/leanfish2011/MyEcharts

后续将围绕这个博客系统写一系列的文章,介绍项目的完成过程,欢迎大家指导!

一. 前台效果展示

1. 博客主页显示

2. 博客内容显示

3. 全文检索

二. 后台效果展示

1. 登录

2. 后台主页

3. 写博客功能

4. 博客管理

5. 添加博客类别等等

三. 爬虫

原文地址:https://www.cnblogs.com/leanfish/p/6821452.html