基于jsp和mysql实现的个人博客系统
1.项目简介
1.1 项目概述
这是一个简单的个人博客系统,个人练手。完成会部署到云服务器作为记录自己生活学习的点点滴滴的一个工具。
1.2 功能概述
最重要的功能自然是作者写文章,读者读文章。文章要有后台管理系统来管理,curd功能要有。然后用户可能会有评论,评论curd也要有。要有用户的管理模块(登录,注册,管理员对用户的管理模块)
该项目是我之前学习的一个项目,一个较为完整的博客系统,具备了常见的博客相关功能,初衷就是为了解决日常的学习记录与总结。
该博客系统大概包含了以下功能:用户的登录与注册、系统的权限管理、发表编辑博客、博客查阅、博客删除、博客评论、博客点赞、个人信息页展示、个人信息的修改、首页信息显示如热门标签、热门用户、热门博客、新发表博客以及所有博客列表,同时会做阅读量、评论量以及点赞量的统计,还支持全文搜索,可以快速查找出想要的内容。当然还为管理员提供了后台管理系统,用来管理与维护博客系统,如用户管理,博客管理等。
1.3 用户需求分析
- 需求一、写文章
- 角色:作者
- 使用场景:进入创作页面,使用网页提供的编辑器创作或者自己在本地创作后上传
-
用例
- 用户打开创作页面,使用网页文本编辑器创作一篇文章,完成后发布
- 用户打开创作页面,使用网页文本编辑器创作一篇文章,未完成保存
- 用户打开创作页面,使用上传自己在本地写的文本,保存或发布
- 用户写文章写一半觉得写的很垃圾,就退了,要问他是否要保存
-
需求二、已发布文章的修改和删除
- 角色:作者
- 使用场景:在文章管理页面可以选择已经发布的文章修改或者删除
-
用例
- 用户在文章管理页面要删除某篇文章,删除后的文章进入草稿箱
- 用户觉得自己以前写的文章像个弟弟,想要修改,点击修改进入编辑器修改,修改完成后可以保存或者取消,取消便撤销修改返回原样,保存即发布
-
需求三、草稿箱的半成品的修改和删除
- 角色:作者
- 使用场景:草稿箱的未完成品,用户选择需要续写或者删除
-
用例
- 用户进入草稿箱,选择一个草稿删除,删除后草稿进入垃圾箱
- 用户修改草稿,修改完成可以保存、发布、取消。
-
需求四、垃圾箱的垃圾的删除和恢复
- 角色:作者
- 使用场景:垃圾箱的垃圾,用户选择需要彻底删除或者恢复
-
用例
- 用户进入垃圾箱,选择一个垃圾文章删除,删除后彻底清除
- 用户进入垃圾箱,选择一个垃圾文章恢复,恢复后的文章进入草稿箱,页面跳转至草稿箱
1.4 功能分析
- 功能一、写文章
- 文本编辑,markdown语法预览
- 有发布、保存,分别对应发布、保存、取消功能
- 点击发布按钮,文章进入发布状态,跳转文章页面
- 点击保存按钮,弹出保存消息(成功、失败),文章放入草稿箱
-
未保存点x,询问停留还是离开
-
功能二、文章管理
- 文章管理页面按列表展示所有文章,每个文章都有查看、删除、修改
- 点击查看弹出文章展示页
- 点击修改进入修改页,修改页同写文章页,不过要加载保存的数据
-
删除直接将文章放入垃圾箱
-
功能三、草稿箱管理
-
草稿箱功能同文章管理,去除查看功能
-
功能四、垃圾箱管理
- 垃圾箱页面展示同文章管理和草稿箱管理
- 垃圾箱提供恢复和删除功能
- 点击删除永久删除内容
- 点击恢复,将其恢复至草稿箱
2.数据库设计
2.1 表结构
管理员表
博客表
分类表
评论表
友情链接表
个人信息表
底部信息表
作者信息表
留言表
图片表
站点表
标签表
用户表
2.2 E-R图
3.项目实现
java
@WebServlet("/loginServlet")
public class loginServlet extends HttpServlet{
public void init(ServletConfig config) throws ServletException{
super.init(config);
}
public void service(HttpServletRequest request,
HttpServletResponse response)
throws ServletException,IOException{
request.setCharacterEncoding("utf-8");
String email_phone=request.getParameter("email_phone").trim(), password=request.getParameter("password").trim();
System.out.println(email_phone);
System.out.println(password);
String condition = null;
boolean boo=(email_phone.length()>0)&&(password.length()>0);
if(boo){
condition="select * from admin where email= '"+email_phone+"'or Phone='"+email_phone+"' and Password ='"+password+"'";//注意单引号不可删除
if(load(condition)==true){
RequestDispatcher dispatcher=request.getRequestDispatcher("Admin.jsp");//转发
dispatcher.forward(request,response);
System.out.print("成功登录");
}
else{
RequestDispatcher dispatcher=request.getRequestDispatcher("login.html");//转发
dispatcher.forward(request,response);
String backNews="您输入的用户名不存在,或密码不般配";
System.out.print(backNews);
}
}
else{
RequestDispatcher dispatcher=
request.getRequestDispatcher("login.html");//转发
dispatcher.forward(request,response);
String backNews="请输入用户名和密码";
System.out.print(backNews);
}
}
public boolean load(String condition){
boolean m = false;
Dbo dbo=new Dbo();//创建数据库操作对象
System.out.println("执行更新操作");
System.out.print("开始查询");
ResultSet rs=dbo.select(condition);
try {
m=rs.next();
} catch (Exception throwables) {
throwables.printStackTrace();
}
dbo.closeUpdate();
return m;
}
-
管理员注册与登录 :用户进入该模块之后只需输入nickname和密码然后点击登录即可进行登录,若需要注册只需点击对应的注册button进入注册页面,注册页面与登录页面想死,主要区别是后端的处理
-
用户信息管理 :这个模块首先使用表格的形式展示出当前系统所的用户信息,其次,对每一个用户都应该有详情、修改、删除三个按钮以管理用户。另外,在本页面还需有一个增加用户的button用于管理员增加用户
-
博客信息管理 :本页面以表格的形式列出当前系统的所有博客,博客信息包括博客的标题、作者、发布日期,对于每一篇博客应该留有详情、修改、删除三大按钮,另外在本页面还需设置一个添加博客的按钮以添加新博客
UML图
4.项目展示
4.1 前端页面
首页
文章列表
时间轴
友情链接
关于作者
文章详情
目录跳转
4.2 后台管理
登录
首页
发表博客
文章管理
类型管理
标签管理
链接管理
系统配置
信息配置
修改密码
个人信息
5.总结
在学习JavaSE及JavaWeb过程中,为了能够熟练运用自己所掌握的知识并将其融会贯通,因此搭建了一款个人博客系统来检验自己的能力以及对知识的掌握。
我们实现的功能有以下几个:
客户端和服务端的业务逻辑如下:
参考文献
- 基于SSH2的轻博客系统的研究与实现(吉林大学·杨雪梅)
- 基于Web前端组件化的个人博客系统的设计与实现(华中科技大学·曾广海)
- 基于SSH框架模式的博客系统的设计与实现(西北师范大学·王刚成)
- 学生管理系统的设计与实现(电子科技大学·贾林蓉)
- 博客管理系统的设计与实现(吉林大学·赵岩)
- 大学生学习交流论坛的设计与实现(电子科技大学·裴博杰)
- 基于SSH2的轻博客系统的研究与实现(吉林大学·杨雪梅)
- 基于JSP技术的学生宿舍管理系统的设计与实现(沈阳工业大学·杨俊宝)
- 在线人才招聘系统实现研究(吉林大学·孙将超)
- 基于SSH框架的企业内博客系统的设计与实现(山东大学·柳青)
- 基于Spring Boot的多用户博客系统的设计研究(青海师范大学·罗涛)
- 基于SSH框架模式的博客系统的设计与实现(西北师范大学·王刚成)
- 基于Spring Boot的多用户博客系统的设计研究(青海师范大学·罗涛)
- 基于JSP的校园网站的设计与实现(吉林大学·张帆)
- 博客管理系统的设计与实现(吉林大学·赵岩)
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕设驿站 ,原文地址:https://bishedaima.com/yuanma/35540.html