项目描述:
大二的JAVA课程设计,整个项目有XML配置方式和注解配置方式,后端整合了Spring、SpringMVC、Mybatis、JSP。前端使用了bootStrap,博客显示是将Markdown解析为HTML。数据库是MySQL。Maven作为项目管理工具。
项目源码:
Clone with HTTPS :https://github.com/1508869700/Blog-System.git
Clone with SSH:git@github.com:1508869700/Blog-System.git
开发环境:
工具 | 版本 |
---|---|
项目管理工具 | Maven3 |
JDK环境 | JDK1.8 |
服务器 | Tomcat7 |
开发工具 | IDEA |
项目技术:
后端部分:Spring + SpringMVC + Mybatis + JSP
前端部分:bootstrap + jquery
3.项目构建图
数据库:
4.功能展示
(1)博客首页
(2)文章页面
1.这里用到了BootStrap模态框
这里点击评论按钮弹出登陆注册模态框提示用户注册或者登陆。
2.在注册或者登陆时用到了Ajax技术局部刷新。
判断用户注册时用户名重复,或者登陆时用户名或者密码错误。
登陆或者注册成功时在Session域中存入username,当重新回到主页再进入博客时判断一下Session域中存在username值时就不需要再重新登陆了.
下面是从首页进入博客文章时判断进入授权前的页面还是授权后的页面:
@RequestMapping("/detail/{id}/{category}")
public String detail(@PathVariable("id") int id, Model model, HttpSession session) {
Article article = articleService.getArticleById(id);
Markdown markdown = new Markdown();
try {
StringWriter out = new StringWriter();
markdown.transform(new StringReader(article.getContent()), out);
out.flush();
article.setContent(out.toString());
} catch (ParseException e) {
e.printStackTrace();
}
model.addAttribute("article", article);
List<Comment> commentList = articleService.findCommentsByArticleId(id);
model.addAttribute("commentList",commentList);
String username = (String) session.getAttribute("username");
if(username!=null)
{
return "views/afterdetail";
}
else
{
return "views/befordetail";
}
}
登陆后就可以评论了:
(3)博主登陆页面
(4)博主管理页面
1.写博客(用了Markdown富文本编辑器):
2.修改博客:(示例:点击Android文章的修改)
3.删除博客
删除后:
4.博主可以删除评论
删除后:
总结:通过JAVAWeb的知识,整合了Spring+SpringMVC+Mybatis框架的使用和JSP的使用作为后端开发,学习了一些前端的知识比如BootStrap的模态框和Ajax局部刷新技术。