一、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. 添加博客类别等等

三. 爬虫

一、Java多人博客系统-开篇的更多相关文章
- 四、Java多人博客系统-2.0版本
由于时间关系,多人博客系统这里穿插一个2.0版本. 2.0版本本来是打算用于建立个人网站,但是后来发现个人建站需要购买域名服务器,还需要备案,很繁琐.最终放弃.完成此版本,最终也只是作为技术演练.此版 ...
- 三、Java多人博客系统-技术架构
多人博客系统1.0版本,架构和技术还是很简单和很传统的. 1.技术 前端:jsp.html.css.javascript.jquery.easyui.echarts 后端:spring mvc.Hib ...
- 二、Java多人博客系统-演变
任何项目都是由小到大,逐步演变的.自己写的这个博客系统也不例外. 更新日志如下: 一.2014年底-2015年初 功能及技术: 1.定位为个人网站,介绍自己情况和发布文章等. 2.首页模块有:个人简介 ...
- 七、Java多人博客系统-2.0版本-docker部署
docker是当下很热门的技术,是对之前的部署系统方式的彻底改变.之前部署系统,需要安装数据库.初始化数据库,安装jdk,配置jdk,部署应用程序,修改配置文件等,很繁琐.一般现场运维人员很难搞定,现 ...
- 五、Java多人博客系统-2.0版本-数据库设计
数据库设计表如下:文章类别表.文章表.评论表.留言表. 文章列表表:存放文章类别,首页菜单生成也是从这个表取的. 文章表:存放文章标题.发表时间.内容等信息. 评论表:文章评论内容. 留言表:用户发表 ...
- 六、Java多人博客系统-2.0版本-代码实现
1.前后端分离,后端使用spring boot,只负责提供数据,对外暴露Restful API.前端使用vue,只负责展示数据和向后台提交数据. 2.数据库使用mariadb,存储所有数据. 3.前端 ...
- 【完全开源】Django多人博客系统——支持MarkDown和tinyMce
目录 说明 功能 如何使用 说明 这是一个用Django开发的多人博客系统,功能简单,但完全满足公司内部或个人的博客使用需求.支持普通富文本编辑器(tinyMCE)和MarkDown编辑器 由于嫌弃D ...
- Java程序员博客系统推荐!我调研了100来个 Java 开源博客系统,发现这 5 个最好用!
大家好!我是 Guide 哥,Java 后端开发.一个会一点前端,喜欢烹饪的自由少年. 最近想倒腾一下博客,看了很多现成的比较成熟的开源博客系统,自己也简单从下面几个维度总结对比了一下: star数量 ...
- 推荐一款自研的Java版开源博客系统OneBlog
OneBlog 一款超好用的Java版开源博客 Introduction 简介 OneBlog 一个简洁美观.功能强大并且自适应的Java博客.使用springboot开发,前端使用Boot ...
随机推荐
- OPPO Developers Conference(2018.12.26)
时间:2018.12.26地点:北京国家会议中心
- redis底层设计(四)——功能的实现
redis中我们会经常用到事务.订阅与发布.Lua脚本以及慢查询日志,接下来我们就一一对他们进行探讨学习. 4.1事务 redis通过MULTI.DISCARD.EXEC和WATCH四个命令来实现事务 ...
- UVA10256 The Great Divide
怎么又没人写题解,那我来贡献一发好了. 题目意思很简单,平面上有两种颜色的点,问你能否求出一条直线使两种颜色的点完全分开. 首先我们考虑两个点集相离的充要条件,这两个点集的凸包必须相离.(很好证明或者 ...
- keras神经网络三个例子
keras构造神经网络,非常之方便!以后就它了.本文给出了三个例子,都是普通的神经网络 例一.离散输出,单标签.多分类 例二.图像识别,单标签.多分类.没有用到卷积神经网络(CNN) 例三.时序预测, ...
- Autofac容器对象实例的几种生命周期类型
实例范围决定了如何在同一服务的请求之间共享实例. 请注意,您应该熟悉生命周期范围的概念,以便更好地理解此处发生的情况. 当请求服务时,Autofac可以返回单个实例(单实例作用域),新实例(每个依赖作 ...
- 使用docker Registry快速搭建私有镜像仓库
当我们执行docker pull xxx的时候,docker默认是从registry.docker.com这个地址上去查找我们所需要的镜像文件,然后执行下载操作.这类的镜像仓库就是docker默认的公 ...
- 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)
十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud的大火把微服务的实践推到了高潮,而近两年K8S在容器 ...
- RPM包制作过程(一)
本机环境:centos7,64位 1. 首先安装工具,rpmbuild可能在rpmdevtools里已经包含 #yum install rpm-devel.x86_64 #yum install rp ...
- PS调出怀旧雨中特写的非主流照片
原图 最终效果 一.打开原图素材,按Ctrl + ALt + ~ 调出高光选区,按Ctrl + Shift + I 反选,然后创建曲线调整图层,适当调暗一点. 二.合并所有图层,点通道面板,选择蓝色通 ...
- 软件工程(FZU2015) 赛季得分榜,第二回合
SE_FZU目录:1 2 3 4 5 6 7 8 9 10 11 12 13 积分规则 积分制: 作业为10分制,练习为3分制:alpha30分: 团队项目分=团队得分+个人贡献分 个人贡献分: 个人 ...