zoukankan      html  css  js  c++  java
  • CleanBlog(个人博客+源码)

      CleanBlog是一个高端(低调)、大气(简洁)的个人博客系统,之前在网上看到了好多个人博客网站,感觉很酷的,自己也想搭建一个,最近 刚学完SSM(Spring/SpringMVC/MyBatis),所以就采用SSM来搭建一个简洁的个人博客。先上一张博客首页图片:

    1 CleanBlog架构

       CleanBlog整体架构比较简单,主要有写博客、看博客、留言板功能。CleanBlog由SSM技术来实现,SpringMVC负责请求解析转发 并渲染视图,MyBatis负责持久层的交互操作,Spring作为整体平台集成SpringMVC和MyBatis。数据库使用MySQL,Web前端 采用了Bootstrap,文本编辑器使用了UEditor(一个开源富文本Web编辑器,来自百度),前端布局灵感来自于Clean Blog(也可以说是套用该模板)。

    CleanBlog整体框架图:

    2 CleanBlog逻辑讲解

      CleanBlog采用IDEA开发,首先需要搭建SSM环境,关于如何在IDEA下搭建SSM环境请点击:MyBatis使用总结+整合SpringSpring学习之第一个Spring MVC程序(IDEA开发环境)。最后搭建好的工程如下图所示:

    2.1 数据表

      目前CleanBlog功能较少,只涉及到2张表,blog表和message表(留言板功能)。两个表结构分别如下所示:

    CREATE TABLE blog (
      id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
      title VARCHAR(128) NOT NULL,
      text TEXT,
      preview VARCHAR(128),
      author VARCHAR(32),
      category VARCHAR(32),
      date TIMESTAMP DEFAULT '2016-05-20 00:00:00'
    );
    
    CREATE TABLE message (
        id INT NOT NULL PRIMARY KEY AUTO_INCREMENT,
        author VARCHAR(32),
        content TEXT,
        date TIMESTAMP DEFAULT '2016-05-20 00:00:00'
    )

    2.2 数据表操作Dao类

      数据表操作Dao类在 com.luoxn28.blog.dao包下,主要有Blog和Message相关Dao类,其中该包下的xxxMapper.xml文件是对应Dao 类的SQL映射文件,MyBatis中会用到该SQL映射文件。com.luoxn28.blog.dao包结构如下所示:

    2.3 CleanBlog控制器类

      CleanBlog控制器类有Blog类(用于显示blog)、Index类(显示主页)、Message类(留言板功能)、Post(在线写博客),这几个类都在com.luoxn28.blog.controller包下,该包结构如下所示:

      比如Index源码如下,负责接收主页请求逻辑的处理:

    package com.luoxn28.blog.controller;
    
    import com.luoxn28.blog.dao.Blog;
    import com.luoxn28.blog.dao.BlogDao;
    import com.luoxn28.blog.dao.MessageDao;
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.stereotype.Controller;
    import org.springframework.web.bind.annotation.RequestMapping;
    
    import java.util.List;
    import java.util.Map;
    
    /**
     * Index控制器
     * @author luoxn28
     * @date 2016.6.18
     */
    @Controller
    @RequestMapping
    public class Index {
    
        // blog表操作类
        @Autowired
        private BlogDao blogDao;
    
        // Message表操作类
        @Autowired
        private MessageDao messageDao;
    
        @RequestMapping("/index")
        public String index(Map<String, Object> map) {
            List<Blog> blogs = blogDao.getAll();
            List<com.luoxn28.blog.dao.Message> messages = messageDao.getAll();
    
            map.put("blogs", blogs);
            map.put("messages", messages);
            return "index";
        }
        @RequestMapping("/")
        public String index0(Map<String, Object> map) {
            return index(map);
        }
    
    }

    3 CleanBlog源码获取

      下面到了见证源码的时刻了,该项目的源码已经push到了我的github上了,项目地址为:/CleanBlog(ps: 欢迎Star);CleanBlog目前已经部署到了服务器上,在线访问请点击:http://luoxn28.xyz:8080/

    3.1 如何使用CleanBlog

       fork整个CleanBlog工程后,下载到本地,然后新建IDEA的J2EE工程,选择Web Application。然后导入CleanBlog源码,在src目录下新建db.properties文件,该文件和db.sql文件在同一个目录 下,用于配置数据库相关信息,主要配置内容如下所示,jdbcUrl后的参数用于设置数据传输编码格式,解决中文入库乱码问题。

    user=xxx
    password=xxx
    driverClass=com.mysql.jdbc.Driver
    jdbcUrl=jdbc:mysql://192.168.1.150/clean_blog?useUnicode=true&characterEncoding=utf8

      然后,登录MySQL,运行工程src目录下的db.sql中的所有命令,新建项目所需的数据库和数据表。最后编译、运行,打开浏览器就可以看到CleanBlog的主页了。

    资源链接:

      1、CleanBlog源码

      2、CleanBlog在线演示

  • 相关阅读:
    党报
    一个人只有敢于承担责任,才有可能被赋予更大的责任。做不
    勇于担当:好男人的三块责任田——
    关于担当
    领导干部要勇于担当
    福布斯专访阿里蔡崇信:马云的坚持和改变
    阿里股权
    ContentProvider
    搞笑段子
    报业
  • 原文地址:https://www.cnblogs.com/luoxn28/p/5597385.html
Copyright © 2011-2022 走看看