jsp+servlet实现个人博客系统

一、开发环境

本地环境:win10 x64 + jdk1.8 + tomcat8.0 + MySQL5.6.39 + chrome浏览器+ sublime +
IntelliJ IDEA

云服务器环境:CentOS 7.3.1611 + jdk1.8 + tomcat8.0 + Nginx 1.14.0 + MySQL5.5.57 + phpMyAdmin 4.0

二、功能介绍

游客可查看文章,评论文章,其中文章详情页格式为后台编辑的markdown文法转成html样式,支持代码高亮,较为美观。可以查看网站的“关于我”,“工程”页面,可以在“联系我”页面留言。
管理员可在后台对文章和分类进行增删改查,其中分类有两层,新建文章可以没有二级分类,但至少要选主分类。删除主分类时,需保证该分类下没有子分类或文章,删除二级分类时需保证该分类下没有文章。

三、数据库设计

1. 主分类表
在这里插入图片描述

主分类是文章的一级分类,会显示在博客的分类导航栏。

2. 二级分类表
在这里插入图片描述

二级分类必须具有父分类,在添加文章时会根据选择的一级分类,提供二级分类选项。

3. 文章表
在这里插入图片描述

文章表中的md_content存储markdown文法的文章内容,因为在进行文章修改时,会在编辑框显示源文章的文本内容。html_content存储转换后的html文本,可在文章详情页显示为编辑时规定的格式。Createdate没有使用datetime类型存储是因为字符串型的数据更方便在文章编写页面进行编辑,和修改页面进行显示。top字段存储文章置顶信息,置顶则设为1,在文章查询时,先根据top字段再根据createdata字段进行降序排列
4. 用户表
在这里插入图片描述

本博客不允许注册,用户只有博主自己,所以用户表中的数据是直接在phpmyadmin中插入的。

5. 主外键关系
在这里插入图片描述

主分类表和二级分类表连接得到一个分类的所有信息,文章表和主分类表、二级分类表连接可得到一篇文章的所有信息

五、总结

之前自学jsp的时候就想着要做些综合的东西,寒假时候打算做个博客,但是中途遇到了一些困难,半途而废。后来用了一段时间的wordpress,但是总觉得自己实现的博客系统会更有意义。于是在得知web大作业内容后,毅然决定要做博客,不是为了完成作业,而是做一个自己能用的东西。
前端页面个人感觉略丑,毕竟审美不行哈哈哈,希望以后能提高审美,做的更加美观。数据库设计使用了两级分类给后来的开发带来了很多麻烦,两个分类的制约关系,一些细节问题是最开始没有考虑到的,如何对不同类型的分类进行增删改查,如何对发表文章时选择的分类进行限制。由于文章表使用了较多的字段,所以条件查询的时候变得很麻烦。发表文章的时间也是给我带来了不少麻烦,本来是想在数据库中使用datetime存储,在Java中转为date类型,但发现存进数据库容易,取出来并不好操作,特别是修改文章时需要把时间切割填到输入框里,最终我还是选择用字符串存时间,实现了需求。纯粹的代码堆叠是没有意义的,所以在开发过程中,我尽量将系统架构做的更加科学,提高代码复用率。在开发中也尽可能将自己学的东西用到,jstl标签、过滤器、Ajax,分页,绘制验证码等等。可以说,这次大作业是将我之前学到的知识进行的一次综合应用。
本地开发并不顺利,上传到服务器上又出现了问题。由于jdk、tomcat版本不一致,所以上传后无法运行;之前在本地引用的jstl jar包在打包成war包时没有包括在里面;连接数据库时被告知不能使用root用户;直接用域名访问不到,还需要指定项目的目录,又一顿修改tomcat配置文件;一切解决之后又发现在后台管理界面添加数据,存到数据库中之后中文显示为乱码,但是通过phpmyadmin直接添加数据没有问题,终于在修改MySQL的配置文件设置好character_set_server的字符编码后得到解决……
由于同时还在准备考研,所以时间并不宽裕,功能还并不完善,留言和评论功能是使用搜狐的畅言插件,以后有时间这些功能还是想自己实现。
总而言之,整个过程我收获颇丰,发现问题,解决问题,个人编码水平有了很大提高。感谢老师一学期以来的辛勤教导,祝身体健康,工作顺利!

演示站点:http://nichang.site/

完整源码:https://github.com/nicahead/jsp-blog

  • 11
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
基于JSP个人博客系统设计与实现可以分为以下几个步骤: 1. 数据库设计:首先需要设计数据库模型,包括用户信息表、博客文章表、评论表等。可以使用MySQL或其他关系型数据库进行存储。 2. 用户认证与权限管理:设计登录和注册功能,使用JSPServlet实现用户认证功能,并对不同用户分配不同的权限,如管理员、普通用户等。 3. 博客文章管理:实现用户发表、编辑和删除博客文章的功能。可以使用富文本编辑器来支持文章内容的格式化。 4. 文章分类与标签:为了方便用户浏览和搜索文章,可以设计文章分类和标签功能,使用户可以按照特定的分类或标签查找相关文章。 5. 评论功能:为博客文章添加评论功能,允许读者对文章进行评论。可以考虑使用AJAX技术实现评论的实时刷新。 6. 用户个人信息管理:用户可以修改个人信息和头像等。设计个人信息管理界面,实现相应的功能。 7. 个性化界面设计:博客系统应具有美观的界面设计,可以使用HTML、CSS和JavaScript来实现。 8. 安全性考虑:博客系统需要考虑数据的安全性,对用户输入的数据进行验证和过滤,防止SQL注入和XSS攻击。 9. 部署与优化:将完成的博客系统部署到服务器上,并进行相应的性能优化,如数据库索引的建立和代码的优化,提升系统的性能和用户体验。 总结:基于JSP个人博客系统设计与实现需要考虑数据库设计,用户认证与权限管理,博客文章管理,文章分类与标签,评论功能,用户个人信息管理,个性化界面设计以及安全性考虑等方面。通过以上步骤的完成,可以实现一个功能完善、用户友好的个人博客系统

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值