最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用springboot制作博客管理系統(tǒng)

 更新時(shí)間:2021年09月01日 15:53:44   作者:java李陽(yáng)勇  
這篇文章主要介紹了使用springboot制作博客管理系統(tǒng),文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)springboot的小伙伴有很大的幫助,感興趣的小伙伴可以參考一下

前言

             博客,又譯為網(wǎng)絡(luò)日志、 部落格或部落閣等,是一種通常由個(gè)人管理、不定期張貼新的文章的網(wǎng)站。 博客上的文章通常根據(jù)張貼時(shí)間, 以倒序方式由新到舊排列。 許多博客專注在特定的課題上提供評(píng)論或新聞, 其他則被作為比較個(gè)人的日記。 一個(gè)典型的博客結(jié)合了文字、圖像、 其他博客或網(wǎng)站的鏈接、 及其它與主題相關(guān)的媒體。 能夠讓讀者以互動(dòng)的方式留下意見(jiàn),是許多博客的重要要素。大部分的博客內(nèi)容以文字為主, 仍有一些博客專注在藝術(shù)、攝影、視頻、音樂(lè)、播客等各種主題。博客是社會(huì)媒體網(wǎng)絡(luò)的一部分。博客秉承了個(gè)人網(wǎng)站的自由精神, 但是綜合了激發(fā)創(chuàng)造的新模式, 使其更具開(kāi)放和建設(shè)性。它作為一種新表達(dá)的方式,它的傳播不僅情緒,包括大量的智慧、意見(jiàn)和思想。某種意義上說(shuō),它也是一種新的文化現(xiàn)象, 博客的出現(xiàn)和繁榮, 真正凸現(xiàn)網(wǎng)絡(luò)的知識(shí)價(jià)值,標(biāo)志著互聯(lián)網(wǎng)發(fā)展開(kāi)始步入更高的階段。

需求分析

        本系統(tǒng)主要針對(duì)博客論壇的管理員對(duì)論壇信息進(jìn)行有效的管理,對(duì)用戶數(shù)量,鏈接數(shù)量,文章數(shù)量進(jìn)行增刪改查,能通過(guò)數(shù)據(jù)統(tǒng)計(jì)分析近來(lái)論壇的發(fā)展情況,還能通過(guò)類別更改管理論壇的界面。游客則通過(guò)發(fā)布文章,管理文章對(duì)論壇做出貢獻(xiàn),發(fā)布自己的想法。

用戶管理。

該模塊是由管理員進(jìn)行操作的,將所有用戶的用戶名,郵箱,創(chuàng)建時(shí)間,用戶狀態(tài),列在一張表上,方便管理員增加、刪除、修改,查詢用戶的信息,還可以批量刪除。

文章管理。

這個(gè)模塊是管理員和用戶都可以操作的,他們都可以對(duì)現(xiàn)有文章進(jìn)行刪除、修改,查詢的操作。他們還可以在文章添加板塊,進(jìn)行文章創(chuàng)作。

鏈接管理。

該模塊是在論壇頁(yè)面的右邊添加友情網(wǎng)站的鏈接,起到互幫互助的作用,它也由兩個(gè)小板塊組成,鏈接添加和鏈接列表,這是只有管理員才能查看且增刪查改的板塊,

日志管理。

日志模塊是所有用戶包括管理員論壇對(duì)后臺(tái)管理系統(tǒng)的訪問(wèn)記錄,由管理員查看,能夠進(jìn)行查詢,刪除和批量刪除的操作。

數(shù)據(jù)管理。

數(shù)據(jù)模塊是以月為單位,對(duì)論壇的發(fā)帖量和訪問(wèn)量進(jìn)行數(shù)據(jù)統(tǒng)計(jì),并轉(zhuǎn)換成柱狀圖的形式呈現(xiàn),是只能由管理員查看的用于網(wǎng)站現(xiàn)狀的分析的工具。分為文章發(fā)表數(shù)據(jù)和文章瀏覽數(shù)據(jù)。

系統(tǒng)管理。

 這個(gè)模塊下面有一個(gè)前臺(tái)欄目列表,是前臺(tái)論壇上方展示的分類類別,有由管理員增加、刪除、修改,查詢的功能。

功能分析

用戶登錄注冊(cè):

輸入賬號(hào)密碼進(jìn)行登錄、后臺(tái)判斷賬號(hào)權(quán)限是普通用戶還是管理員、沒(méi)有注冊(cè)的可以進(jìn)入注冊(cè)頁(yè)面注冊(cè)

博客主頁(yè):

用戶進(jìn)入主頁(yè)后查看分類查看博客內(nèi)容、點(diǎn)擊查看詳情、右側(cè)可以跳轉(zhuǎn)超鏈接、以及登錄注冊(cè)

文章詳情:

評(píng)論互動(dòng)

博客詳情評(píng)論互動(dòng) 

后臺(tái)用戶管理:

添加用戶:

后臺(tái)文章管理:

后臺(tái)鏈接管理:

后臺(tái)日志管理:

后臺(tái)數(shù)據(jù)管理:

文章數(shù)據(jù)《發(fā)表數(shù)據(jù)和流量數(shù)據(jù)》按月統(tǒng)計(jì)顯示

后臺(tái)菜單管理:

部分表設(shè)計(jì)

  使用Mysql數(shù)據(jù)庫(kù)、 INNODB 存儲(chǔ)引擎和 UTF8 編碼格式。

用戶表

CREATE TABLE `NewTable` (
`id`  int(11) NOT NULL AUTO_INCREMENT COMMENT '主鍵' ,
`username`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用戶登錄名' ,
`email`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '郵箱' ,
`password`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密碼' ,
`status`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '2' COMMENT '狀態(tài) 0:正常 1:刪除 2:未激活或者未啟用' ,
`avatar`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '頭像' ,
`code`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '激活碼' ,
`create_date`  datetime NULL DEFAULT NULL COMMENT '添加時(shí)間' ,
`create_by`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '添加用戶id' ,
`update_date`  datetime NULL DEFAULT NULL COMMENT '更新時(shí)間' ,
`update_by`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '更新用戶id' ,
`remark`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '備注' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=21
ROW_FORMAT=DYNAMIC
;

文章表

CREATE TABLE `NewTable` (
`id`  int(64) NOT NULL AUTO_INCREMENT ,
`type_id`  int(64) NOT NULL ,
`title`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`content`  longtext CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
`create_date`  datetime NULL DEFAULT NULL ,
`create_by`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`update_date`  datetime NULL DEFAULT NULL ,
`update_by`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`status`  varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL ,
`read`  varchar(64) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' ,
PRIMARY KEY (`id`)
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8 COLLATE=utf8_general_ci
AUTO_INCREMENT=24
ROW_FORMAT=DYNAMIC
;

評(píng)論互動(dòng)表

CREATE TABLE `NewTable` (
`id`  int(11) NULL DEFAULT NULL ,
`news_id`  varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL ,
`content`  mediumtext CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL ,
`create_date`  date NULL DEFAULT NULL ,
`create_by`  int(11) NULL DEFAULT NULL ,
`update_time`  date NULL DEFAULT NULL ,
`update_by`  int(11) NULL DEFAULT NULL ,
`status`  varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NULL DEFAULT NULL 
)
ENGINE=InnoDB
DEFAULT CHARACTER SET=utf8mb4 COLLATE=utf8mb4_unicode_ci
ROW_FORMAT=DYNAMIC
;

部分代碼實(shí)現(xiàn)

 這個(gè)項(xiàng)目功能比較簡(jiǎn)單、用的技術(shù)也是大家非常熟悉的技術(shù)、主要是springboot、springmvc、mybatis以前端的jquery、layui、html和css等基本樣式。就拿登錄來(lái)舉一個(gè)完整例子吧、首先是前端靜態(tài)頁(yè)面的編寫(xiě)以及發(fā)送登錄請(qǐng)求

 
<div class="wrapper">
 
    <div class="froyo-frame login-body">
        <div class="admin-face">
            <div class="face-img">
                <img src="${ctxStatic}/images/editor.png" alt="logo">
            </div>
        </div>
        <h1 class="admin-login-tittle">「從現(xiàn)在開(kāi)始,為每一天寫(xiě)下一篇記錄」</h1>
        <div class="admin-login-form">
            <form class="form" action="${ctx}/login" method="post" autocomplete="off">
                <div class="admin-name"><input name="username" type="text" placeholder="用戶名"></div>
                <div class="admin-password"><input name="password" type="password" placeholder="密碼"></div>
                <div class="admin-button"><button type="submit" id="login-button">登錄</button></div>
            </form>
          <!--   其他賬號(hào)登錄:
            <a href=""><img src=" rel="external nofollow" ${ctxStatic}/images/qqLogin.png" style="width: 50px;margin: 10px" onclick="loginQQ()"></a>
            <img src="${ctxStatic}/images/weChatLogin.png" style="width: 50px;margin: 10px">
            <img src="${ctxStatic}/images/weboLogin.png" style="width: 50px;margin: 10px"> -->
            <div class="admin-button"><a id="login-button" href="${ctx}/index" rel="external nofollow" >返回首頁(yè)</a></div>
</div>
<script type="text/javascript" src="${ctxStatic}/plugins/layui/layui.js"></script>
<script type="text/javascript">
    layui.use('layer', function() {
        var $ = layui.jquery,
            layer = layui.layer;
        //login-button的點(diǎn)擊事件..
        $('#login-button').click(function (event) {
            event.preventDefault();
            if (!$("input[name=username]").val()) {
                layer.msg("用戶名不能為空");
                return false;
            } else if (!$("input[name=password]").val()) {
                layer.msg("密碼不能為空");
                return false;
            } else {
                $('form').fadeOut(500);
                $('.wrapper').addClass('form-success');
                $('.form').submit();
            }
        });
 
</script>
</body>
</html>

    后臺(tái)Controller接收到前端的登錄請(qǐng)求之后執(zhí)行參數(shù)校驗(yàn)、將前端傳遞過(guò)來(lái)的用戶名密碼以及用戶角色進(jìn)行判斷驗(yàn)證、調(diào)用LoginController.login方法執(zhí)行用戶登錄驗(yàn)證、查詢數(shù)據(jù)庫(kù)當(dāng)前賬號(hào)密碼是否正確、返回狀態(tài)碼給前端、前端根據(jù)狀態(tài)碼進(jìn)行相對(duì)的頁(yè)面跳轉(zhuǎn)以及數(shù)據(jù)效應(yīng)。

   /**
     * 登錄驗(yàn)證
     *
     * @param user
     * @param map
     * @return
     */
    @PostMapping("/login")
    public String login(User user, ModelMap map) {
        if (user != null) {
            if (StringUtils.isBlank(user.getUsername()) || StringUtils.isBlank(user.getPassword())) {
                return Views.LOGIN;
            }
            AuthenticationToken token = new UsernamePasswordToken(user.getUsername(), user.getPassword(), true);
            if (token == null) {
                map.put("message", "用戶名或密碼錯(cuò)誤");
                return Views.LOGIN;
            }
            //記住我
            ((UsernamePasswordToken) token).setRememberMe(true);
            try {
                SecurityUtils.getSubject().login(token);
                return Views.REDIRECT_ADMIN;
            } catch (AuthenticationException e) {
                if (e instanceof UnknownAccountException) {
                    map.put("message", "用戶不存在");
                } else if (e instanceof LockedAccountException) {
                    map.put("message", "賬戶未激活");
                    map.put("status", 2);
                    map.put("user", user);
                } else if (e instanceof DisabledAccountException) {
                    map.put("message", "賬戶未啟用");
                }
                e.printStackTrace();
                map.put("message", "用戶認(rèn)證失敗");
            }
            return Views.LOGIN;
        } else {
            map.put("message", "未知異常");
            return Views.LOGIN;
        }
    }
 
 
 
}

以上就是使用java springboot制作博客系統(tǒng)的詳細(xì)內(nèi)容,更多關(guān)于java springboot制作系統(tǒng)的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • AndroidQ沙盒機(jī)制之分區(qū)存儲(chǔ)適配

    AndroidQ沙盒機(jī)制之分區(qū)存儲(chǔ)適配

    這篇文章主要介紹了AndroidQ沙盒機(jī)制之分區(qū)存儲(chǔ)適配,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • Eclipse設(shè)置斷點(diǎn)調(diào)試的方法

    Eclipse設(shè)置斷點(diǎn)調(diào)試的方法

    這篇文章主要介紹了Eclipse斷點(diǎn)調(diào)試的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-09-09
  • 利用Java實(shí)現(xiàn)圖片馬賽克效果

    利用Java實(shí)現(xiàn)圖片馬賽克效果

    馬賽克效果是一種常見(jiàn)的圖像處理技術(shù),通過(guò)將圖像劃分為多個(gè)小塊并對(duì)每個(gè)小塊進(jìn)行平均色處理,模擬馬賽克的效果,在本項(xiàng)目中,我們將使用Java的Swing庫(kù)和圖像處理技術(shù)來(lái)實(shí)現(xiàn)圖片的馬賽克特效,需要的朋友可以參考下
    2025-02-02
  • IDEA一致卡在build時(shí)間過(guò)長(zhǎng)問(wèn)題解決

    IDEA一致卡在build時(shí)間過(guò)長(zhǎng)問(wèn)題解決

    有很多小伙伴在起項(xiàng)目的時(shí)候巨慢,特別影響開(kāi)發(fā)效率,本文主要介紹了IDEA一致卡在build時(shí)間過(guò)長(zhǎng)問(wèn)題解決,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-06-06
  • java中&與&&的區(qū)別

    java中&與&&的區(qū)別

    本文主要介紹了java中&與&&的區(qū)別,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • SpringMVC?RESTFul實(shí)戰(zhàn)案例修改功能實(shí)現(xiàn)

    SpringMVC?RESTFul實(shí)戰(zhàn)案例修改功能實(shí)現(xiàn)

    這篇文章主要為大家介紹了SpringMVC?RESTFul實(shí)戰(zhàn)案例修改功能實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 關(guān)于SpringCloud整合RabbitMQ的實(shí)例

    關(guān)于SpringCloud整合RabbitMQ的實(shí)例

    這篇文章主要介紹了關(guān)于SpringCloud整合RabbitMQ的實(shí)例,消息隊(duì)列是指利用高效可靠的消息傳遞機(jī)制進(jìn)行與平臺(tái)無(wú)關(guān)的數(shù)據(jù)交流,并基于數(shù)據(jù)通信來(lái)進(jìn)行分布式系統(tǒng)的集成,是在消息的傳輸過(guò)程中保存消息的容器,需要的朋友可以參考下
    2023-07-07
  • java實(shí)現(xiàn)字符串轉(zhuǎn)String數(shù)組的方法示例

    java實(shí)現(xiàn)字符串轉(zhuǎn)String數(shù)組的方法示例

    這篇文章主要介紹了java實(shí)現(xiàn)字符串轉(zhuǎn)String數(shù)組的方法,涉及java字符串的遍歷、分割、轉(zhuǎn)換等相關(guān)操作技巧,需要的朋友可以參考下
    2017-10-10
  • 初識(shí)Spring Boot框架之Spring Boot的自動(dòng)配置

    初識(shí)Spring Boot框架之Spring Boot的自動(dòng)配置

    本篇文章主要介紹了初識(shí)Spring Boot框架之Spring Boot的自動(dòng)配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-04-04
  • Spring Boot 員工管理系統(tǒng)超詳細(xì)教程(源碼分享)

    Spring Boot 員工管理系統(tǒng)超詳細(xì)教程(源碼分享)

    這篇文章主要介紹了Spring Boot 員工管理系統(tǒng)超詳細(xì)教程(源碼分享),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-05-05

最新評(píng)論

百色市| 志丹县| 武川县| 弥勒县| 苍南县| 浏阳市| 瑞安市| 玉屏| 长汀县| 平江县| 乐陵市| 玉田县| 松滋市| 宁南县| 紫云| 新沂市| 平武县| 万载县| 禄丰县| 澎湖县| 静海县| 陇西县| 准格尔旗| 筠连县| 称多县| 乌苏市| 天津市| 社旗县| 习水县| 通榆县| 堆龙德庆县| 土默特右旗| 安新县| 揭东县| 博白县| 丰宁| 福安市| 太保市| 保靖县| 遂川县| 潞西市|