亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于SpringBoot的校園文章發(fā)布系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)

        2019-02-12 08:23:57張振球
        無線互聯(lián)科技 2019年23期
        關(guān)鍵詞:分層設(shè)計(jì)

        摘 要:文章所設(shè)計(jì)的系統(tǒng)采用SSM模式和SpringBoot框架進(jìn)行開發(fā),使用Maven作為項(xiàng)目管理和構(gòu)建的工具,在架構(gòu)上采用分層設(shè)計(jì),降低了系統(tǒng)的耦合度。這種設(shè)計(jì)便于系統(tǒng)的后期維護(hù),增強(qiáng)了系統(tǒng)的可擴(kuò)展性。SpringBoot和Maven技術(shù)的使用,使得項(xiàng)目的構(gòu)建和管理更加方便。另外,前端使用Bootstrap框架和Thymeleaf技術(shù)。

        關(guān)鍵詞:校園文章發(fā)布平臺(tái);SpringBoot;Maven;分層設(shè)計(jì)

        本文開發(fā)的校園文章發(fā)布平臺(tái)中,用戶在使用時(shí)可以實(shí)現(xiàn)注冊(cè)登錄,進(jìn)入平臺(tái)首頁查看其他用戶發(fā)布的文章,并進(jìn)行評(píng)價(jià),可以進(jìn)入其他用戶的主頁查看,登錄后臺(tái)發(fā)布文章和設(shè)置自己的個(gè)人主頁。系統(tǒng)在架構(gòu)上采用分層設(shè)計(jì),從而降低系統(tǒng)的耦合度,以便于后期維護(hù),利用SSM(Spring+SpringMVC+MyBatis)框架集模式和SpringBoot框架進(jìn)行整合開發(fā)[1-2]。

        1 關(guān)鍵技術(shù)

        1.1 MVC設(shè)計(jì)模式

        模型—視圖—控制器(Model-View-Controller,MVC)是一種軟件設(shè)計(jì)的典型設(shè)計(jì)方法。它將系統(tǒng)的業(yè)務(wù)邏輯、數(shù)據(jù)、界面顯示分離開來,采用分而治之的思想對(duì)待程序系統(tǒng),當(dāng)系統(tǒng)需求發(fā)生變更時(shí),只需要針對(duì)性地改動(dòng)其相對(duì)應(yīng)的部分即可。

        1.2 SSM框架技術(shù)

        SSM框架是Spring MVC,Spring和Mybatis框架的整合,采用標(biāo)準(zhǔn)的MVC設(shè)計(jì)思想,將整個(gè)系統(tǒng)劃分為表現(xiàn)層、Controller層、Service層、DAO層4層[3]。使用Spring MVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖的管理;使用Spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象的管理;使用Mybatis作為數(shù)據(jù)對(duì)象的持久化引擎。Spring是一個(gè)開源框架,主要優(yōu)勢(shì)是分層架構(gòu)。Mybatis是對(duì)JDBC的封裝,可以讓數(shù)據(jù)庫底層的操作變得透明。

        1.3 SpringBoot框架技術(shù)

        SpringBoot是一個(gè)快速開發(fā)框架,能夠迅速地將一些常用的第三方依賴整合起來。Spring Boot簡(jiǎn)化了XML配置,采用注解的形式,內(nèi)置了HTTP服務(wù)器(Jetty和Tomcat),最終以Java應(yīng)用程序進(jìn)行執(zhí)行[4]。

        2 系統(tǒng)實(shí)現(xiàn)

        對(duì)于用戶功能結(jié)構(gòu),將從平臺(tái)首頁、用戶個(gè)人主頁、用戶管理3個(gè)模塊進(jìn)行設(shè)計(jì)。

        用戶在平臺(tái)首頁可以進(jìn)行賬戶信息的注冊(cè)、系統(tǒng)登錄以及進(jìn)入管理頁面。用戶進(jìn)入平臺(tái)首頁看到的是平臺(tái)內(nèi)所有文章的列表,平臺(tái)上會(huì)顯示最新發(fā)布的用戶文章。另外,用戶如果有自己感興趣或者想要了解的內(nèi)容,可以根據(jù)關(guān)鍵字進(jìn)行搜索。用戶可以點(diǎn)擊查看文章的詳細(xì)頁面,在文章的底部看其他用戶提交的評(píng)論信息,也可以提交自己的評(píng)價(jià)。

        用戶個(gè)人主頁主要是用戶信息的展示,從個(gè)人的主頁、文章信息的歸檔、分類和標(biāo)簽的劃分以及用戶本身的個(gè)人信息等方面來展示。這些模塊中,個(gè)人首頁、歸檔、分類、標(biāo)簽中的內(nèi)容都是用戶自己定制的,也就是說每個(gè)人都可以不一樣,是根據(jù)用戶在用戶管理的操作來決定的。

        用戶管理是個(gè)人信息設(shè)置的模塊,可以實(shí)現(xiàn)個(gè)人信息的維護(hù)和個(gè)人主頁的定制。用戶管理的功能主要包括修改用戶個(gè)人基本信息和密碼,查看個(gè)人通知,發(fā)布新的文章,對(duì)自己發(fā)布的文章進(jìn)行管理,對(duì)其他用戶針對(duì)自己文章的評(píng)論進(jìn)行管理以及對(duì)發(fā)布文章時(shí)需要設(shè)置的分類標(biāo)簽信息進(jìn)行管理。

        2.1 系統(tǒng)的主要功能模塊

        系統(tǒng)主要分為3大模塊:平臺(tái)首頁模塊、個(gè)人主頁模塊和用戶管理模塊(見圖1)。

        圖1 系統(tǒng)的主要功能模塊

        平臺(tái)首頁模塊包括:(1)注冊(cè)用戶。用戶進(jìn)入注冊(cè)頁面,可以注冊(cè)賬戶信息。注冊(cè)用戶和未注冊(cè)用戶的權(quán)限不同,未注冊(cè)用戶不能提交評(píng)論信息,不能進(jìn)入用戶管理模塊。(2)登錄系統(tǒng)。為滿足一些功能的需求,系統(tǒng)會(huì)要求并提示用戶登錄。(3)瀏覽平臺(tái)文章。進(jìn)入首頁后,可以看到一個(gè)平臺(tái)所有文章的列表,列表的每一項(xiàng)有文章的主題和簡(jiǎn)略內(nèi)容,點(diǎn)擊可以進(jìn)入詳細(xì)頁面進(jìn)行查看,平臺(tái)最新發(fā)布的文章會(huì)優(yōu)先顯示到平臺(tái)列表的最前面。(4)搜索。用戶可以根據(jù)關(guān)鍵字搜索自己感興趣的內(nèi)容,系統(tǒng)對(duì)用戶輸入的關(guān)鍵字進(jìn)行篩選,重新渲染文章列表,顯示篩選結(jié)果。(5)查看文章詳細(xì)信息。(6)提交評(píng)論。用戶讀完文章后,可以提交自己的評(píng)價(jià)。

        個(gè)人主頁模塊包括:(1)瀏覽個(gè)人主頁。以一個(gè)縮略信息的列表顯示該用戶所發(fā)布的文章。左側(cè)有導(dǎo)航欄,分別可以進(jìn)入歸檔、分類等其他用戶前臺(tái)的模塊。(2)查看歸檔信息。以時(shí)間軸的形式顯示用戶發(fā)布文章的歷程。(3)查看分類信息。主要顯示用戶設(shè)置的分類信息,將用戶發(fā)布的文章以用戶設(shè)置的分類進(jìn)行劃分,用戶可根據(jù)分類快速找到自己曾經(jīng)發(fā)布的文章。(4)查看標(biāo)簽信息。主要顯示用戶設(shè)置的標(biāo)簽信息,將用戶發(fā)布的文章以其設(shè)置的標(biāo)簽信息進(jìn)行劃分,用戶可根據(jù)標(biāo)簽信息快速找到自己曾經(jīng)發(fā)布的文章。(5)查看關(guān)于自己。是關(guān)于用戶自己的一些介紹,包括基本信息和其他信息,如技能、喜好、事跡等。

        用戶管理模塊包括:(1)修改個(gè)人信息。是對(duì)用戶本身賬戶信息的修改,用戶可以修改諸如郵箱之類的基本信息。(2)修改密碼。(3)查看個(gè)人通知。展示發(fā)布的最新文章和其他用戶的評(píng)論通知。(4)發(fā)布新文章。該部分是一個(gè)供用戶在線編輯與發(fā)布新文章的模塊,采用Markdown語法進(jìn)行編輯,用戶需要擬定主題,設(shè)置文章選用的模板以及文章的分類、標(biāo)簽信息,然后以Markdown的語法進(jìn)行編輯,編輯結(jié)束后可以選擇發(fā)布或擬定草稿。(5)管理文章信息。用戶在該模塊可以對(duì)自己已經(jīng)發(fā)布的文章進(jìn)行管理,包括編輯、修改和刪除。(6)管理評(píng)論信息。進(jìn)入該模塊,以列表的形式顯示其他用戶對(duì)該用戶文章所提交的評(píng)論,用戶可以審核該評(píng)論的內(nèi)容,審核通過則會(huì)在用戶前臺(tái)顯示。對(duì)于不合理或不恰當(dāng)?shù)脑u(píng)論,用戶可以審核不通過或刪除評(píng)論。(7)管理分類標(biāo)簽。主要針對(duì)的是用戶發(fā)布文章時(shí),需要設(shè)置分類標(biāo)簽信息的管理。

        2.2 數(shù)據(jù)存儲(chǔ)設(shè)計(jì)

        本系統(tǒng)主要的實(shí)體對(duì)象包括用戶信息實(shí)體、系統(tǒng)日志信息實(shí)體、文章信息實(shí)體、評(píng)論信息實(shí)體以及項(xiàng)目信息實(shí)體(見圖2)。(1)用戶實(shí)體。作為一個(gè)供用戶在線交流的平臺(tái),其用戶是一個(gè)群體,是整個(gè)系統(tǒng)的核心。(2)日志實(shí)體。在系統(tǒng)的運(yùn)行過程中,管理員需要時(shí)刻監(jiān)測(cè)整個(gè)系統(tǒng)的運(yùn)行,查看用戶的操作信息,所以日志信息需要作為一個(gè)實(shí)體。(3)文章實(shí)體。本系統(tǒng)是一個(gè)文章發(fā)布平臺(tái),所以文章信息也是一個(gè)重要的元素。將文章抽象為一個(gè)實(shí)體,包括主題、分類、標(biāo)簽、作者等信息。(4)評(píng)論實(shí)體。在用戶閱覽文章后,肯定會(huì)有一定的看法或者評(píng)論,而這些評(píng)論需要一個(gè)實(shí)體對(duì)象來承載,主要包括評(píng)論人、評(píng)論內(nèi)容等。(5)項(xiàng)目實(shí)體。正常來說,每篇文章都有自己的標(biāo)志,就像圖書館里的書籍,每一本書都需要分類入庫。在系統(tǒng)中的文章也應(yīng)該有自己的分類和標(biāo)簽,在用戶需要快速找到一篇文章時(shí),就可以通過分類信息和標(biāo)簽信息去篩選[5]。

        2.3 攔截器算法設(shè)計(jì)

        在用戶訪問系統(tǒng)資源時(shí),系統(tǒng)會(huì)對(duì)用戶的訪問進(jìn)行攔截,檢查當(dāng)前用戶信息與確認(rèn)信息是否一致,若不一致,則拒絕用戶對(duì)系統(tǒng)資源的訪問;若一致,則放行。

        對(duì)用戶的攔截處理需要寫入系統(tǒng)的配置,本系統(tǒng)基于SpringBoot框架,除了一些必要的配置寫在application.yml文件中,其他需要添加的配置信息則通過繼承WebMvcConfigurerAdapter來實(shí)現(xiàn)。

        攔截器的核心代碼如下:

        // 請(qǐng)求攔截處理

        UserDomain user = TaleUtils.getLoginUser(request);

        if (null == user) {

        Integer uid = TaleUtils.getCookieUid(request);

        if (null != uid) {

        user = userService.getUserInfoById(uid);

        request.getSession().setAttribute(WebConst.LOGIN_SESSION_KEY, user);

        }

        }

        // 設(shè)置GET請(qǐng)求的token

        if (request.getMethod().equals("GET")) {

        String csrf_token = UUID.UU64();

        // 默認(rèn)存儲(chǔ)30分鐘

        cache.hset(Types.CSRF_TOKEN.getType(), csrf_token, uri, 30 * 60);

        request.setAttribute("_csrf_token", csrf_token);

        }

        return true; // 返回true才會(huì)執(zhí)行postHandle

        對(duì)于用戶的每一次訪問,系統(tǒng)都會(huì)檢查cookie信息,若cookie信息已經(jīng)失效,系統(tǒng)會(huì)轉(zhuǎn)向登錄頁面,提示用戶重新登錄,才能獲取對(duì)應(yīng)的權(quán)限。此外,用戶登錄的有效時(shí)間設(shè)置為30 min。當(dāng)用戶登錄系統(tǒng)超出30 min后,用戶登錄系統(tǒng)的賬戶信息會(huì)失效,系統(tǒng)會(huì)提示用戶重新登錄,這樣可以避免用戶操作過程可能存在的一些安全性和保密性問題。

        3 結(jié)語

        本文提出的系統(tǒng)設(shè)計(jì)方案已經(jīng)實(shí)現(xiàn),經(jīng)各方驗(yàn)證完全可行,運(yùn)行穩(wěn)定,安全性好,使用方便。整個(gè)系統(tǒng)的開發(fā)過程中,有學(xué)生的參與,因此,有很強(qiáng)的針對(duì)性、實(shí)用性,也大大激發(fā)了參與學(xué)生在開發(fā)系統(tǒng)過程中的開發(fā)興趣和熱情。

        作者簡(jiǎn)介:張振球(1980— ),男,江蘇徐州人,講師,學(xué)士;研究方向:軟件開發(fā)。

        圖2 系統(tǒng)實(shí)體對(duì)象

        [參考文獻(xiàn)]

        [1]SCHOMAKER M,HEUMANN C.Bootstrap inference when using multiple imputation[J].Statistics in Medicine,2018(2):434.

        [2]GUTIERREZ F.Security with Spring Boot[M].California:Apress,2018.

        [3]趙璘,王紅霞.基于Spring MVC+JDBCTemplate的Web系統(tǒng)的研究與應(yīng)用[J].軟件工程,2017(1):5-8.

        [4]李梟,任維政.基于SpringMVC的多平臺(tái)J2EE開發(fā)方式研究[J].吉林大學(xué)學(xué)報(bào)(信息科學(xué)版),2017(5):99-105.

        [5]龍德應(yīng),唐嫦燕.運(yùn)用Bootstrap優(yōu)化響應(yīng)式高校圖書館數(shù)字資源系統(tǒng)的研究[J].農(nóng)業(yè)圖書情報(bào)學(xué)刊,2018(4):43-47.

        Design and implementation of campus article publishing system based on SpringBoot

        Zhang Zhenqiu

        (Xuzhou Economic and Trade Branch, Jiangsu Union Technical Institute, Xuzhou 221000, China)

        Abstract:This paper analyzes the system is developed with the SSM mode and the SpringBoot framework, uses Maven as a tool for project management and construction. The system adopts a hierarchical design on the framework and reduces the coupling degree of the system. This design facilitates the post-maintenance of the system and enhances the scalability of the system. The use of SpringBoot and Maven technology makes the construction and management of the project more convenient. In addition, the front end uses the Bootstrap framework and the Thymelaef technology.

        Key words:campus article publishing platform; SpringBoot; Maven; layered design

        猜你喜歡
        分層設(shè)計(jì)
        方程的根與函數(shù)零點(diǎn)的教學(xué)分層設(shè)計(jì)與反思
        小學(xué)英語分層作業(yè)設(shè)計(jì)的實(shí)踐研究
        初中英語作業(yè)分層設(shè)計(jì)策略研究
        考試周刊(2016年70期)2016-09-20 14:44:59
        小學(xué)數(shù)學(xué)作業(yè)分層設(shè)計(jì)與評(píng)價(jià)的探索
        考試周刊(2016年38期)2016-06-12 12:25:29
        導(dǎo)學(xué)案分層設(shè)計(jì)的探討與思考
        中文字幕乱伦视频| 永久免费看黄网站性色| 精品日本一区二区三区| 色欲av伊人久久大香线蕉影院| 人妻少妇精品中文字幕av蜜桃| 亚洲色欲Aⅴ无码一区二区| 美女被搞在线观看一区二区三区| 国产精品女主播福利在线| 无码任你躁久久久久久老妇| 国产99视频精品免费视频免里| 日本久久精品在线播放| 美妇炮灰被狂躁爽到高潮h| 手机看片久久国产免费| 日本欧美国产精品| 青青青视频手机在线观看| av大全亚洲一区二区三区| 久久精品娱乐亚洲领先| 91亚洲精品福利在线播放| 国产又大大紧一区二区三区| 国产精品乱码人妻一区二区三区| 精品福利视频一区二区三区| 国语憿情少妇无码av| 免费一区二区在线观看视频在线| 免费a级毛片18以上观看精品| 日韩在线第二页| 日韩精品一区二区三区视频| 午夜无码一区二区三区在线观看| 欧美人与动牲交a欧美精品| 99热在线播放精品6| 一区二区三区蜜桃av| 国产精品自在拍在线拍| 无码电影在线观看一区二区三区| 亚洲国产一区中文字幕| 91在线观看国产自拍| 国产三a级三级日产三级野外| 精品国产乱码久久久久久1区2区 | 欧美精品久久久久久久久| 午夜婷婷国产麻豆精品| 精品人妻一区二区三区四区在线| 爽爽午夜影视窝窝看片| 粉嫩av一区二区在线观看|