【软件】基于JSP和Bootstrap的潇湘博客平台
潇湘博客平台 XiaoXiangBlog
说明
- Eclipse 项目 - Version: 2020-06 (4.16.0)。
- JDK8。
潇湘博客(XiaoXiangBlog)
一个简单的Java Web项目,使用 JSP、Servlet、MySQL、Bootstarp等技术实现。完成了注册登录,发布博客、阅读博客、点赞、发布评论、个人资料更改、自适应电脑手机等功能。如果您喜欢,请点击星星,谢谢。
A simple Java Web project, use JSP, Servlet, MySql, Bootstarp and others. Realized the function of login and register, publish blog, read blog, show like, publish comment, person profile change,adaptive desktop mobile and others.If you like this, please click the star, thanks.
功能展示(Show)
首页
首页有一个简单的介绍面板,然后下面是博文推荐,随机推荐10篇博文。

登录注册页面
登录,需要输入验证码,验证码为一个简单的算式,可以记住账号密码。登录后跳转回登录前的位置,并且部分编辑数据能被保存(不由登录组件实现)。

注册。

文章页面
上面显示标题和时间(包括文章是否修改,修改时间),右边有操作按钮,可以对文章进行编辑或者删除操作。中间有作者信息、文章数据统计和表态按钮,可以点赞、取消点赞、反对、取消反对(反对不会被统计,但是会被记录)等操作。下面是评论区,可以发表评论,查看评论,评论使用Ajax动态加载,每次加载10条评论。

文章评论采用动态分页加载策略,每次加载10条。删除弹窗与回复弹窗类似,回复删除都是采用Ajax技术,不需要刷新整个页面(除了在上面发表评论)。评论的管理由评论者本人、网站管理员和文章作者共同管理。

博客页面
博客页面显示本站所有用户的博客,可以按照点赞量、评论量、浏览量、发表时间和修改时间等进行排序,使用分页技术,每页10条数据(如下页脚)。

搜索页面
支持关键词搜索,能搜索标题、内容和用户,分页技术与博客页面一致。

写博文页面
使用summernote-v0.8.20实现富文本编辑,实现了图片上传,因为是存数据库中的,所以最长6w的代码文本长度(后面可改进以文件形式存放或者其他方案),发表博文使用Ajax技术。

个人页面
个人资料页面,有个人的数据统计,个人资料和个人博文列表(分页)。

编辑资料页面,可以编辑头像(预制)、昵称、签名、性别、家乡和联系方式等个人资料。

简单的修改密码界面。

消息页面

未读消息是黑色、填充的,消息显示后变成灰色、去填充的。

消息附带链接,点击消息到达指定文章的指定位置。
简单而又出戏的管理界面(没时间做了,随便写了点,没用Bootstrap)
管理主页,显示一些本站的统计数据。

用户管理界面。

博客管理界面。

评论管理界面。

公告发布界面,可筛选发送对象,设置点击后跳转位置,发送后以消息的形式通知到指定用户。

编辑数据界面,编辑框框是动态生成的,不是写好的,修改后能跳回原来进入修改的位置。

手机端浏览界面一览
手机界面与电脑共用一个页面,采用响应式前端框架Bootstrap实现。

手机端界面与电脑端区别不大,有的地方为了适应手机的操作,重新做了排版,比如阅读页面中部部分。

手机端的发布博文界面不太好操作,但是依然能使用。

在手机端看来貌似电脑的布局大了许多。

管理界面没用任何的框架,依然是如此地出戏 QwQ ~。

总体上看功能相对简单,但是个人感觉界面是挺精致的(除了管理界面)。
项目说明(Other)
数据库(DataBase)
所有账号的密码都为 (The password of all accounts is )123456!
数据库配置文件(SQL config file):src/druid.properties
数据库结构文件(SQL structure file):src/xiaoxiang_blog.sql
数据库测试数据文件(SQL data file):src/xiaoxiang_blog_data.sql
测试数据文件里面内置了一些文章、评论、测试账号等(文章版权归原作者,摘抄时并未进行任何沟通)用于测试。
Some articles, comments, test accounts, etc. are built in the test data file (the copyright of the article belongs to the original author, and no communication is made during the extraction) for testing.
管理员(Admin)
管理员注册配置文件(admin config file):src/admin.properties
管理员采用注册的形式,在配置文件文件中写好管理员的账号,然后去注册页面注册,注册后就是管理员。或者也可以直接修改数据库,把role字段改为1。
The administrator uses the form of registration, writes the administrator's account in the configuration file, and then goes to the registration page to register. After registration, the administrator is the administrator. Or you can directly modify the database and change the role field to 1.
日志组件(Logback)
日志配置文件(log config file):src/logback.xml
Debug模式配置文件(debug mode config file):src/minuhy/xiaoxiang/blog/config/DebugConfig.java
日志处理详情请看配置文件。
See the configuration file for log processing details.
文件夹说明(Folder)
可删除的HTML测试文件夹(Removable HTML test folder):WebContent/html
里面是编写前端时的代码,删除完全不影响正常使用。
It contains the code when writing the front end. Deleting it does not affect normal use at all.预制图片文件夹(Prefabricated picture folder):WebContent/img
内置一些系统需要用到的图标等。
Built-in some icons needed by the system.预制头像文件夹(Prefabricated avatar folder):WebContent/img/avatar
h001.png到h138.png都是从QQ安卓版安装包中提取出来的头像图片文件,版权解释归QQ所有,本项目仅用于测试。
Both h001.png and h138.png are avatar image files extracted from the QQ Android installation package. The copyright interpretation belongs to QQ. This project is only used for testing.HTML库文件夹(HTML Library Folder):WebContent/lib
所有库采用下载的形式加入到项目中,库中的代码版权归原作者所有。
All libraries are added to the project in the form of download, and the code copyright in the library belongs to the original author.HTML css js 文件夹(Folder):WebContent/lib/xiaoxiang
自己写的js和css存放在此。
My js and css file in this.JSP公共组件(common page):WebContent/partial
包括页头、页脚、导航栏等。
Include page head,page foot and nav.JSP管理员组件(admin page):WebContent/admin
管理员页面的所有JSP文件。
All admin page in this.
使用到的库(Lib)
commons-fileupload-1.5 https://commons.apache.org/proper/commons-fileupload/
commons-io-2.11.0 https://commons.apache.org/proper/commons-io/
druid-1.2.16 https://github.com/alibaba/druid
fastjson-1.2.83 https://github.com/alibaba/fastjson
mysql-connector-java-5.1.49 https://dev.mysql.com/blog-archive/mysql-connector-j-5-1-49-ga-has-been-released/
logback-classic-1.2.11 https://logback.qos.ch/download.html
logback-core-1.2.11 https://logback.qos.ch/download.html
slf4j-api-1.7.36 https://www.slf4j.org/download.html
bootstrap-3.4.1 https://getbootstrap.com/docs/3.4/
doT-1.1.3 https://github.com/olado/doT
html5shiv-3.7.3 https://github.com/aFarkas/html5shiv
jquery-1.12.4 https://jquery.com/
respond.js-1.4.2 https://github.com/scottjehl/Respond
summernote-v0.8.20 https://summernote.org/
开源地址
【软件】基于JSP和Bootstrap的潇湘博客平台的更多相关文章
- 基于Node.js的ghost开源博客平台
Ghost 是一套基于Node.js 构建的开源博客平台(Open source blogging platform),具有易用的书写界面和体验. 1.安装node windows 下安装npm:ht ...
- 基于SMB协议的共享文件读写 博客分类: Java
基于SMB协议的共享文件读写 博客分类: Java 一.SMB协议 SMB协议是基于TCP-NETBIOS下的,一般端口使用为139,445. 服务器信息块(SMB)协议是一种IBM协议,用于在计 ...
- 基于Metaweblog API 接口一键发布到国内外主流博客平台
之前的生活 之前一直使用evenote写博客和日志,其实还是挺方便的.但是我一直都希望能够同步到国内的博客和国外的blogspot等主流博客平台.而强大everote只提供了facebook.twit ...
- 基于 Hexo + GitHub Pages 搭建个人博客(一)
前言:我的博客写作之路 15 年刚上大学,第一次接触公众号,就萌生了创建一个公众号写点东西,但最终不了了之. 很快到了 16 年,开始接触网上各大博客网站,接触最多的当属 CSDN,萌生了注册一个博客 ...
- 基于 Hexo + GitHub Pages 搭建个人博客(二)
在 基于 Hexo + GitHub Pages 搭建个人博客(一) 这篇文章中,我们已经知道如何使用 Hexo + GitHub Pages 搭建一个个人博客,GitHub 为我们提供了免费的域名和 ...
- 基于 Hexo + GitHub Pages 搭建个人博客(三)
一.添加扫描二维码关注功能 打开 themes 目录下的 next 主题配置文件,找到 Wechat Subscriber 标签,将该标签下的配置改成如下形式: # Wechat Subscriber ...
- 基于Hexo+Github Pages搭建的博客
概念 Github Pages可以被认为是用户编写的.托管在github上的静态网页.使用Github Pages可以为你提供一个免费的服务器,免去了自己搭建服务器和写数据库的麻烦.此外还可以绑定自己 ...
- Github 搭建 Hexo 纯静态化个人博客平台
以前一直想搭建一个属于自己的博客平台,有余种种原因一直未能实现,最近闲来无事,参照网上的教程,搭建了属于自己的博客.自己的博客网站,样式自由,不需要受限于各大平台. 本篇为从零开始的基础篇,本篇所包含 ...
- Code First开发系列实战之使用EF搭建小型博客平台
返回<8天掌握EF的Code First开发>总目录 本篇目录 理解应用需求 数据库设计 创建实体数据模型 创建实体类 创建关系和导航属性 实现DbContext类 执行数据访问 理解仓储 ...
- Dropplets – 极简的 Markdown 博客平台
Dropplets 是一个简单的博客平台,专注于提供正是你在博客解决方案中需要的.当涉及到基础的博客功能,你真正想要做的是写和发表,而这就是 Dropplets 的过人之处.Dropplets 是一个 ...
随机推荐
- PDCA使用指南详解(史上最强)
PDCA循环,一个老话题了,大家都知道要这么做,但在平时的生活和工作当中,你是否真的都这样做呢? 当你发现你面对的困难重重,寸步难行时,是否反思过是因为自己一开始的方法就不正确? 本文包涵了PDCA循 ...
- 二叉树神级遍历算法:morris遍历算法
morris遍历的实质 建立一种机制,对于没有左子树的节点只到达一次,对于有左子树的节点会到达两次 morris遍历的实现原则 记作当前节点为cur. 如果cur无左孩子,cur向右移动(cur=cu ...
- 面向对象(下)的阶段性复习:关键字abstract、模板方法的设计模式、关键字interface、代理模式、工厂的设计模式、类的结构内部类
关键字:abstract abstract: 抽象的1.可以用来修饰:类.方法2.具体的:abstract修饰类:抽象类 * > 此类不能实例化 * > 抽象类中一定有构造器,便于子类实例 ...
- ctfshow--web9 md5二进制格加密的绕过
dirsearch 扫到robots文件 查看一下 发现有个index.phps文件 访问这个index.phps,可以下载下来 我们来审计一下这里的代码 <?php $flag="& ...
- rpc项目中的长连接与短连接的思考
对于rpc项目,在接受大佬指导的时候曾问过对于长连接和短连接是处理处理的,在面试的时候也被问起socket是长连接还是短连接,发现自己没有好好思考过这个问题,因此好好总结一下. 前置知识点:rpc基础 ...
- java内部类与单例模式
java中不允许外部类使用 private,protected 修饰 所谓的外部类:就是在源码中直接声明的类 所谓的内部类: 就是类中声明的类,内部类可以使用 public, private, pro ...
- 浅谈云主机在VPC中进行迁移的使用场景和操作方法
本文分享自天翼云开发者社区<浅谈云主机在VPC中进行迁移的使用场景和操作方法>,作者:刘****雪 一.客户经常遇到的网络迁移问题 客户在天翼云购买一台云主机并且部署完成想要的应用后,发现 ...
- Drasi Reactions SDK
Drasi Reactions SDK 是一个跨语言的开发工具包,用于实现和处理 Drasi 平台的 Reactions(反应器)功能.该 SDK 目前支持三种主流编程语言:JavaScript/Ty ...
- Arduino 语法--语句
一.条件判断语句 Arduino 语言基于C和C++,有过开发经验的都知道,C语言中有一些内建指令,这些内建指令中有很重要的几个语句经常用到,这里介绍常用的条件判断语句if和else. if语句 在考 ...
- 使用JAVA8 filter对List多条件筛选
记录项目开发的过程中遇到的一些问题及解决方法,由于公司操作数据库都是统一使用工具生成的存在一些多表查询模糊查询,这些操作只能在集合方面下手了,比如发送邮件记录方面查询,对用户的名字及邮件模糊检索 年龄 ...