项目说明书
一、摘要
博客系统是一个使用JavaWeb技术开发的博文及不同用户交流的平台。
博客系统是一个简单的博文交流的web平台,可以满足用户简单的博文管理需求,操作简单,主要包含以下几个方面:
- 登录注册
- 查看所有用户的博客文章
- 对博文进行检索
- 管理个人发布的博文
- 对博文进行评论
二、项目概述
项目概述是在调研分析的基础上,对现系统的现状和用户要求进行的概述。
系统概述
中国随着经济的发展,信息化的进一步发展,越来越多的人拥有个人电脑,使用电脑的人群也各式各样,当前市面上有着很多博客平台,就像CSDN,博客园等很多有着强大功能。
博文管理和检索是博客系统的基础。
系统业务流程
,
三、系统功能模块
系统需求分析
一、博客简介
博客是人们在网络上展现自己个性的一种方式。自从互联网走进千家万户,大受人们喜爱。大家都喜欢通过网络来获取各种各样的信息。而在网络上,你也可以畅所欲言,而个人博客也是其中一种。在博客上,你可以发表自己的心路旅程,发表自己的工作经验,发表技术博客等等。
博客,它也被称为网络日志。博客其实就是一个网页,它是由各种各样的帖子组成。这些帖子可以是你某一天观看电影的感慨,也可以是阅读到某篇书籍的读后感,更可以是你在自己技术领域的心得。它就是一个网页,但是大家可以在上面用文字或者图片分享自己的心情等,它提供的内容可以用来进行交流。
博客与论坛有许多的相似之处,许多朋友都分不清他们两的区别。首先,论坛和博客都可以进行交友和交流等。而其中论坛注重的是集体讨论,博客注重的是个人分享。它们两者的核心点就有着很大的区别。论坛的创建的用户是基于为众人服务,而博客是为了博主服务。它们的不同点还有在形式上的不同。博客是独立存在的。而论坛并不是。总结起来,论坛是多人一起交流的地方,互动性强,社交性强。博客是发表个人文章的地方,虽然也可以交流,但更多的还是自娱自乐。
二、目的
开发一个个人的博客管理系统,具备基本的博客功能,主要用于发表个人博客,记录个人生活日常,学习心得,技术分享等,供他人浏览,查阅,评论等。
三、功能目标
- 发布文章
- 浏览所有文章和个人文章
- 文章检索
- 评论
- 查看文章详情
PS:进行项目演示。
四、 E-R图
五、数据库分析
表数据分析:
用户表:账号、密码、用户id、昵称、粉丝数、性别等
文章表:文章id、标题、关键字、文章内容、点赞数量、发布时间、用户id
评论表:评论id、评论用户id、文章id、评论用户昵称、评论内容、评论日期。
数据字典
-
文章表
-
用户表
-
评论表
六、原型图
https://www.processon.com/view/link/5f17b8c25653bb7fd248b268
任务说明书
项目名称
博客系统
软硬件配置
- 硬件环境:个人计算机
- 操作系统:可以采用 Windows XP 以上系统
- 数据库系统:MySQL
- Web 服务器:Tomcat
- Java 运行环境:采用 JDK8及以上版本
- 编译器:IDEA(或者eclipse)
知识基础
- servlet
- jsp
- request、response
- ajax
- json
- mysql
- html+css+js+jquery
- MVC模式
第三方工具
- jackson
- druid
- commons-beanutils
- JdbcTemplate(Spring的)
开发流程
第一周
一、开发前准备(1天)
- 了解项目需求
- 相关软件的安装
- 了解项目的技术栈
PS:相关技术栈可在时候进行串讲
二、环境搭建(1天)
- 搭建JavaWeb环境
- 测试servlet+jsp
- 连接mysql
- 数据库的增删改查
三、登录注册(1天)
- 完善登录注册的静态页面
- 注册,并将用户信息存储到数据库
- 登录
四、发布博客(1天)
- 完善发布博客的静态页面
- 发布博客并保存到数据库
第二周
五、查看博客(1天)
- 查看所有博客
- 查看个人博客
- 检索博客
- 查看博客详情
六、管理博客(1天)
- 修改博客
- 删除博客
任务目标
-
通过本次项目实战,不仅可以让大家深入JavaWeb技术的核心编程,而且能熟练的应用集成开发环境开发应用项目,而且更重要的是对软件设计可以达到一个新的认识高度。
-
通过这次项目,带着大家掌握项目开发的流程,如何开发项目,遇到问题如何去解决,以及分享一些我的编程经验和学习方法和思想。
代码
1. 基本环境搭建
2. 登陆模块
html:
a. 验证码
html代码
<li>
<span class="login-input">验证码:</span>
<input type="text" class="input-con login-verify">
<img class="verify-img" src="/login/code">
<span id="verift-update">点击切换</span>
</li>
js代码
$(function () {
window.onload = function () {
//点击图片切换
//获取图片
$(".verify-img").click(function () {
let date = new Date().getTime();
$(this).attr("src","/login/code?date="+date);
})
$(".verift-update").click(function () {
let date = new Date().getTime();
$(".verify-img").attr("src","/login/code?date="+date);
})
}
})
servlet:
@WebServlet("/login/servlet")
public class CheckCodeServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//1.创建一个对象,在内存中存图片(验证码图片对象)
int width =100;
int height= 50;
BufferedImage image =new BufferedImage(width,height,BufferedImage.TYPE_INT_RGB);//宽,高,格式
//2.美化图片
//2.1化背景颜色
Graphics graphics = image.getGraphics();//画笔对象
graphics.setColor(Color.pink);//设置画笔颜色
graphics.fillRect(0,0,width,height);//填充一个蓝色的矩形 填充的位置和大小
//2.2画边框
graphics.setColor(Color.BLUE);//设置颜色
graphics.drawRect(0,0,width-1,height-1);//画边框
//2.3写验证码
graphics.setFont(new Font("宋体",Font.BOLD,25));
String str ="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789"; //验证码包含的所有字符数字
StringBuffer sb= new StringBuffer();
Random random = new Random();//画验证码验证符
for (int i = 1; i < 5; i++) {
int s = random.nextInt(str.length());//随机获取字符串的角标,长度在字符串长度的范围内
char c = str.charAt(s);//获取随机的字符
graphics.drawString(c+"",i*20,25);//字符串的内容和位置
sb.append(c);
}
String checkCode = sb.toString();
HttpSession session = request.getSession();
//将验证码存储到session中,用于登录后的判断。
session.setAttribute("checkCode",checkCode);
//2.4画干扰线
graphics.setColor(Color.black);
for (int i = 0; i < 5; i++) {
int x1 = random.nextInt(100);
int x2 = random.nextInt(100);
int y1 = random.nextInt(50);
int y2 = random.nextInt(50);
graphics.drawLine(x1,y1,x2,y2);
}
//3.将图片输入到页面展示
ImageIO.write(image,"jpg",response.getOutputStream());//输出对象,后缀名,输出流输出
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
this.doPost(request,response);
}
}
代码下载:(免费 不要积分)
- 途径一
下载链接:基于MVC的博客系统
- 途径二
git地址:gitee下载地址
作者所有,仅供参考