这次课设,想跳出以往的各种管理系统的约束,突发奇想想写一个高仿自己博客的项目,于是我的好记星博客就诞生了。
这是我第一次真正用心做一次自己想做的大项目。博客前端使用BootStrap构建,使用JSP渲染,后端使用MySQL存储数据。这是我在燕山大学计算机系作为大二学生能第一次做出来的大项目,真的非常有成就感。
组长:棋
组员:Mr.DCD,负责JSP代码编写和代码校验、日月星华,负责JSP代码编写和代码校验、浮克的回音,主要负责页面设计和JSP代码编写。
博客又不是报告,所以需求分析什么的根本不可能出现在这里,直接展示界面。
前台界面
首页

首页的文章列表以卡片形式展示,每个卡片展示了文章的标题、摘要、作者昵称、作者头像和发布时间,作者头像是调用我的API获取的。

首页还具有分页功能,我们设定每页最多展示的文章共有10页,超出10页则换到下一页显示。
导航栏

导航栏展示了博客的名称,还附带了一些去往其他内容页的按钮,右边有搜索和登录功能。
页脚

页脚展示了用户自定义的信息,可选项有备案号、自定义的文字等等。
功能展示
文章页面
通过点击首页的文章div就可以跳转到该文章的详情页面。

文章页面分为两部分,一部分为标题栏,另一部分为文章正文。标题栏左边展示了文章的标题,作者昵称和作者头像,右边展示了文章的分类和时间。(上面的文章没有分类,下方放一个有分类的文章图片)

文章正文是有一定格式的,可以显示标题,正文,备注,超链接,也就是说它是带有HTML格式的。
在文章末尾还有评论功能。

分类
在上方文章内容页说了具有文章分类功能,实际上点击时间右边的分类名称可以直接跳转到文章分类页。

当然也可以展示全部分类。

搜索功能
搜索功能位于右上角,搜索功能是基于关键词和数据库的模糊查询实现的,所以实现起来非常简单。点击右上角的搜索按钮可以根据搜索到的情况显示对应的搜索结果。



其他功能
因为课设要求十个表200条记录,因此其他的功能都是凑数的,不属于主要功能。
协议
协议可以展示隐私协议、服务协议、Cookie协议之类的,协议不会展示全部,只能展示具体页面,通常方式是将它放在导航栏或页脚。

协议也是具有HTML格式的。
日记界面
日记功能是模仿我的博客日记功能编写的,但是去掉了展示图片的功能。

留言界面
(这个文案是直接抄的我的博客里的)留言展示了标题、正文和留言内容,而留言功能位于页面最底部。


友链
为博客引流,友链是必不可少的一部分。

而友链的申请可以前往留言页面。
其他功能
404页面
有心之人可能注意到了,页脚有一个链接叫“不存在的协议”,正因为它不存在,点击它就会前往404页面。

安装界面
这个安装界面是参照Typecho安装界面制作的。

首先先让你确认配置,配置就是config.json,里面存放了密码加密解密规则、密钥、数据库的一些配置。在下方还需要创建一个管理员用户。
安装成功会提示下方的页面。

安装成功会生成一个install.lock文件,若这时还尝试访问安装页面会直接跳转到首页。
后台页面
登录

后台首页

以后不多bb了,直接上界面。
后台界面一饱眼福
下面直接上界面

因为BootStrap自适应的原因,有的表头很奇怪,我们没太在意所以没改。

文章内容支持HTML的原因就是因为后台编写文章的界面使用了富文本编辑器。
编辑协议和它一样,就不展示了。

日记只能编辑自己的,点击右下角的写日记可以写日记。
日记是以一个文本域展示的,不支持富文本,因为日记篇幅短小不会使用格式。

后台大部分页面都是这样的,其他的脑补吧,不展示了。点击左下角的退出登录可以清除cookie,并回到登录界面。
非界面功能
这里展示一些我个人觉得不错的功能。
支持配置
配置文件config.json用于规定博客安装前的一些数据。

读取配置文件则使用了我自己写的一个类Config类,它可以读取配置文件并将其存给常量中,直接访问常量即可获取值,如Config.DB可以直接获取数据库名称。
密码加密解密
数据库中密码不是以明文方式显示的,这就涉及到了加密功能。在上方配置有两个名称分别为password_encrypting_algorithm和password_encrypting_key,它们分别为密码加密算法和密钥,密钥必须为16位字符串。


总的来说,这次课设我很满意,我的组员也很让我满意。以前总有一个自己手写博客的想法,现在终于实现了。