项目描述
实现一个简易的博客功能,包括以下功能
- 用户登录
- 注册
- 找回密码
- 发表添加新文章,
- 显示文章详情,
- 显示用户文章列表,
- 显示所有文章列表(进行上下页的切换),
- 统计访问量,
- 修改文章,
- 删除文章。
使用的技术
maven:使用maven来管理依赖,打包项目
mysql:使用MySQL作为业务数据的存储
html:使用HTML来编写前端页面
css:进行简单的页面美化
tomcat:使用Tomcat作为Web项目部署的服务器
servlet:每个页面调用后台接口都需要使用Servlet来完成业务。
session:在登录后才可以访问新增文章接口,否则直接返回到登录页面
ajax:通过jQuery.getJSON()进行前端请求
jackson:jackson是java对象与JSON字符串数据进行序列化、反序列化的工具。
需要的资源
Maven、IDEA、MySQL、Chrome浏览器、Fiddler4抓包工具
创建Web项目
创建Maven项目
文章目录结构
IDEA编码设置
数据库设计
创建数据库
设计用户表
需要id、姓名、密码字段,虚拟ID(用于更改按密码),创建时间,更改时间,状态
设计文章表
需要id、文章标题、文字内容字段,创建时间,更改时间,状态、 访问量,用户ID(需要关联用户表,关系表现为1个用户多篇文章)。
-- 创建数据库
drop database if exists javablog;
create database javablog;
-- 使用数据数据
use javablog;
-- 创建表[用户表]
drop table if exists userinfo;
create table userinfo(
id int primary key auto_increment,
username varchar(100) not null,
password varchar(32) not null,
createtime datetime default now(),
updatetime datetime default now(),
idcard varchar(32) not null,
`state` int default 1
);
-- 创建文章表
drop table if exists articleinfo;
create table articleinfo(
id int primary key auto_increment,
title varchar(100) not null,
content text not null,
createtime datetime default now(),
updatetime datetime default now(),
uid int not null,
rcount int not null default 1,
`state` int default 1
);
设计数据库实体类
用户类,对应数据库用户表
文章类,对应数据库文章表。
设计数据库连接工具类
使用DataSource作为数据库连接的创建方式
设计释放jdbc资源的方法
具体功能介绍
登录功能
原理:需要先注册用户才能登陆访问,登录后需要建立用户的session信息,用来在访问文章新增等功能判断用户是否登录。
目标:登录后创建用户session数据,并跳转到个人文章页面。
注册功能
原理:先要输入3到10个字符长度的用户名(当然若用户已经存在是无法注册的),6到20位的密码长度并确保两次密码一致,虚拟ID可以随意设置,为了账号安全,这里用MD5算法将ID与密码转换后进行存储。
目标:实现注册功能,并将信息保存到数据库,注册成功后跳转到登录页面。
找回密码
原理:用户忘记密码,需要根据虚拟ID进行身份识别,通过后可进行重置密码的操作。
目标:身份验证通过且重置密码成功后,跳转到登录页面进行登录
新增文章功能
原理:在我的文章页面中,访问新增文章接口,上传文章标题、内容。
目标:用户没有登录时,跳转到用户登录页面。登录后允许访问,新增文章成功,保存数据到文章表,
新增文章成功后,自动刷新当前页面。
文章详情功能
原理:显示文章的信息,包括标题、具体内容,创建时间,访问量,作者
目标:可以单独输入url访问,也可以从我的文章和所有文章页面跳转进入
文章列表功能
原理:显示所有的文章信息,以json类型的数据返回,并展示
目标:后台需要获取数据库中的所有文章数据,并序列化为json格式,并返回给客户端浏览器显示设计文章列表
个人文章列表功能
原理:显示自己发布所有的文章信息
目标:后台根据用户ID获取数据库中个人的所有文章数据,并序列化为json格式,并返回给客户端浏览器显示设计文章列表
统计访问量功能
原理:统计文章列表的访问次数,当每次访问文章详情接口时,次数加1
目标:实现访问量的统计
删除文章
在个人文章页面访问删除接口进行文章删除
文章修改
在个人文章页面访问修改文章接口,可对自己发布的文章进行修改。
业务演示
1、进入登录页面,
若您还没有账号,您可以直接点击新用户注册,跳转到注册页面进行注册
注册时一定要按照提示进行输入信息,否则无法完成注册例如下面的情况
当然,已经存在用户是不能在重新注册的
这里的虚拟ID是用来找回密码的,防止忘记密码,找回密码只需要在注册页面点击忘记密码即可,然后跳转到如下界面
如果ID不正确是无法修改的
身份验证通过后便可进行重置密码
然后就能登录了,登录成功后,自动跳转到个人文章列表,然后可以进行添加文章操作和查看本系统的所有文章目录
添加文章
发布完成后可对自己的文章进行修改和删除
查看所有文章列表
查看文章详情