康梅娟
摘 ?要:為了給攝影愛好者提供一個(gè)在線交流信息的平臺,該文基于模塊化思想設(shè)計(jì)并實(shí)現(xiàn)了基于SSM的攝影愛好者論壇。該文主要分析了攝影愛好者論壇的設(shè)計(jì)需求,詳細(xì)介紹了此系統(tǒng)的功能模塊設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)和系統(tǒng)功能的實(shí)現(xiàn)。攝影愛好者可以利用該論壇學(xué)習(xí)攝影知識,交流攝影經(jīng)驗(yàn),分享攝影照片。
關(guān)鍵詞:SSM ?攝影 ?論壇
中圖分類號:TP311 ? 文獻(xiàn)標(biāo)識碼:A 文章編號:1672-3791(2019)11(a)-0006-02
近年來,隨著科學(xué)技術(shù)的進(jìn)步和社會(huì)經(jīng)濟(jì)的發(fā)展,人們對于生活品質(zhì)的要求逐漸提升,喜歡攝影的人也越來越多?,F(xiàn)如今隨著手機(jī)的普及,手機(jī)拍攝的照片質(zhì)量越來越高,讓攝影拍照變得更加方便快捷。攝影可以留住生活中美好的記憶,為了給攝影愛好者提供一個(gè)溝通思想、交流經(jīng)驗(yàn)、分享照片的平臺,該文設(shè)計(jì)并實(shí)現(xiàn)了基于SSM的攝影愛好者論壇。
1 ?系統(tǒng)開發(fā)相關(guān)技術(shù)
JSP的英文全稱是Java Server Pages,它是一種開發(fā)動(dòng)態(tài)網(wǎng)頁的技術(shù)。它可以使用JSP標(biāo)簽在HTML文檔中插入Java代碼。使用JSP技術(shù)開發(fā)的Web應(yīng)用程序是跨平臺的,既能在Linux操作系統(tǒng)上運(yùn)行,也能在其他操作系統(tǒng)上運(yùn)行。
SSM框架是由Spring、SpringMVC和MyBatis這3個(gè)開源框架整合而成,常被用作數(shù)據(jù)源比較簡單的Web項(xiàng)目的框架。Spring框架創(chuàng)建的目的是為了解決企業(yè)應(yīng)用程序開發(fā)的復(fù)雜性。分層架構(gòu)的思想是框架的主要優(yōu)勢之一,分層架構(gòu)允許設(shè)計(jì)者選擇使用哪一個(gè)組件,還可以為開發(fā)J2EE應(yīng)用程序提供集成的框架。SpringMVC是SpringFrameWork的后續(xù)產(chǎn)品之一,已經(jīng)融合在SpringWebFlow里面。Spring框架為構(gòu)建Web應(yīng)用程序提供了全功能MVC模塊。MyBatis是對Java數(shù)據(jù)庫連接jdbc的封裝,有了它的支持,數(shù)據(jù)庫底層操作變得簡單透明。MyBatis的操作都是圍繞一個(gè)sqlSessionFactory實(shí)例展開的。
該系統(tǒng)是基于SSM框架開發(fā)的論壇,采用JSP技術(shù)實(shí)現(xiàn)系統(tǒng)的動(dòng)態(tài)功能,使用Eclipse作為系統(tǒng)的開發(fā)環(huán)境,用Tomcat架設(shè)Web服務(wù)器,后臺數(shù)據(jù)庫采用MySQL實(shí)現(xiàn)。
2 ?系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
2.1 系統(tǒng)功能模塊設(shè)計(jì)
該系統(tǒng)功能主要分為兩大模塊:前臺用戶模塊和后臺管理員模塊,系統(tǒng)的基本功能具體設(shè)計(jì)如下。
(1)前臺用戶模塊實(shí)現(xiàn)的功能:瀏覽者可以查看帖子、搜索帖子、查看通知公告、瀏覽攝影技巧和照片分享欄目下的內(nèi)容;如果要發(fā)布帖子,瀏覽者需要注冊成為網(wǎng)站的會(huì)員,會(huì)員登錄以后可以對攝影信息進(jìn)行討論、點(diǎn)贊、腳踩、分享以及舉報(bào),可以在個(gè)人中心修改個(gè)人信息,可以發(fā)布帖子、對自己發(fā)布的帖子進(jìn)行管理。
(2)后臺管理員模塊實(shí)現(xiàn)的功能:管理員登錄以后可以對用戶信息、帖子信息、通知公告信息等進(jìn)行管理,可以查看和刪除會(huì)員信息、修改會(huì)員的密碼,可以查看、搜索、刪除帖子,可以查看、添加、修改、刪除通知公告,可以對用戶舉報(bào)的攝影帖子信息進(jìn)行審核。
2.2 數(shù)據(jù)庫設(shè)計(jì)
數(shù)據(jù)庫設(shè)計(jì)在動(dòng)態(tài)網(wǎng)站的設(shè)計(jì)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)的好壞會(huì)直接影響到應(yīng)用程序的運(yùn)行效率。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)能夠提高數(shù)據(jù)讀取與存儲(chǔ)的效率,能夠保證數(shù)據(jù)的一致性和完整性。該系統(tǒng)的數(shù)據(jù)庫使用MySQL來設(shè)計(jì)和實(shí)現(xiàn)。
該系統(tǒng)共有6個(gè)數(shù)據(jù)表,分別是用戶表、攝影帖子表、被舉報(bào)帖子表、用戶評價(jià)表、帖子討論表、通知公告表。
(1)用戶表主要用來存放用戶編號、用戶名、用戶密碼、用戶注冊郵箱、用戶注冊時(shí)間等信息。
(2)攝影帖子表主要用來存放帖子的編號、帖子的標(biāo)題、帖子的內(nèi)容、用戶編號、點(diǎn)贊的數(shù)目、評論的數(shù)目、置頂優(yōu)先級、創(chuàng)作時(shí)間等信息。
(3)被舉報(bào)帖子表主要用來存放黑名單編號、被舉報(bào)的帖子編號、舉報(bào)人的編號、舉報(bào)的原因、管理員處理情況、舉報(bào)時(shí)間等信息。
(4)用戶評價(jià)表主要用來存放點(diǎn)贊編號、點(diǎn)贊者的用戶編號、被點(diǎn)贊的帖子編號等信息。
(5)帖子討論表主要用來存放該條評論帖子的編號、該條評論帖子的內(nèi)容、被評論帖子的編號、評論者的用戶編號,該評論創(chuàng)建的時(shí)間等信息。
(6)通知公告表主要用來存放通知公告的編號、通知公告的標(biāo)題、通知公告的內(nèi)容,創(chuàng)建通知公告的時(shí)間等信息。
2.3 系統(tǒng)功能的實(shí)現(xiàn)
該系統(tǒng)采用3層架構(gòu)模式,對表現(xiàn)層、業(yè)務(wù)邏輯層和數(shù)據(jù)訪問層進(jìn)行了有效分離,實(shí)現(xiàn)了應(yīng)用程序的低耦合和高內(nèi)聚,提高了應(yīng)用程序的執(zhí)行效率。表現(xiàn)層是指展現(xiàn)給用戶的應(yīng)用程序的界面。業(yè)務(wù)邏輯層是指針對具體問題的操作,或者說是對數(shù)據(jù)層的操作,包括對數(shù)據(jù)業(yè)務(wù)邏輯進(jìn)行處理。數(shù)據(jù)訪問層用來對數(shù)據(jù)庫進(jìn)行直接操作,對數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行查找、添加、修改、和刪除等。
該系統(tǒng)使用Spring JDBC進(jìn)行數(shù)據(jù)庫的訪問,實(shí)現(xiàn)了數(shù)據(jù)訪問層;使用Spring MVC進(jìn)行前后端的分離,有了更清晰的業(yè)務(wù)邏輯;使用JSP作為前端的展示頁面,實(shí)現(xiàn)了表現(xiàn)層。
系統(tǒng)功能的實(shí)現(xiàn)主要表現(xiàn)在數(shù)據(jù)訪問層對數(shù)據(jù)庫中數(shù)據(jù)的各種操作上。下面分別以發(fā)布帖子、搜索帖子功能為例,說明系統(tǒng)功能的實(shí)現(xiàn)。
(1)發(fā)布帖子功能是攝影愛好者論壇的一個(gè)重要功能,要想發(fā)布帖子,瀏覽者必須先注冊為網(wǎng)站的會(huì)員,會(huì)員登錄以后才能發(fā)布帖子。
實(shí)現(xiàn)發(fā)布帖子功能的主要代碼如下所示。
@Override
public int insertBlog(String tieziName, String tieziContent, int huiyuanid)
{
ChBlog tiezi = new ChBlog();
tiezi.setBlogname(tieziName);
tiezi.setBlogcontent(tieziContent);
tiezi.setUserid(huiyuanid);
tiezi.setStar(0);
int insert_teizi=chBlogMapper.insertSelective(tiezi);
return insert_teizi;
}
(2)搜索帖子功能是整個(gè)系統(tǒng)的核心功能之一,也是用戶使用攝影愛好者論壇的好助手,用戶可以輸入關(guān)鍵詞搜索自己需要的帖子。
實(shí)現(xiàn)搜索帖子功能的主要代碼如下所示。
@Override
public SearchResult
{
String URL=BLOGCORE;
//創(chuàng)建查詢對象
SolrQuery myquery=new SolrQuery();
//設(shè)置查詢條件
myquery.setQuery(chaxuntiaojian);
//設(shè)置分頁
myquery.setStart((yeshu-1)*hangshu);
myquery.setRows(hangshu);
//設(shè)置默認(rèn)搜索域
myquery.set("df","blog_keywords");
//執(zhí)行查詢
SearchResult
//計(jì)算查詢結(jié)果的總頁數(shù)
long jiluNum=findOutcome.getRecordCount();
long yeShu=jiluNum / hangshu;
if (jiluNum%hangshu > 0)
{
yeShu++;
}
findOutcome.setPageCount(yeShu);
findOutcome.setCurPage(yeshu);
return findOutcome;
}
3 ?結(jié)語
基于SSM的攝影愛好者論壇具有美觀、友好的用戶界面,操作簡單,在功能方面也較為全面。攝影愛好者通過本論壇可以分享攝影照片,學(xué)習(xí)攝影技巧。與其他同類平臺相比,該平臺在開發(fā)上采用了SSM框架,降低了開發(fā)的復(fù)雜度,提高了代碼的復(fù)用率。該文先介紹了系統(tǒng)開發(fā)過程中所用到的技術(shù),然后介紹了系統(tǒng)功能模塊設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì),最后完成了系統(tǒng)功能的實(shí)現(xiàn),對構(gòu)架基于SSM的類似系統(tǒng)具有一定的參考意義。
參考文獻(xiàn)
[1] 陳圣楠.基于SSM框架的信息系統(tǒng)全生命周期管理平臺的設(shè)計(jì)與開發(fā)[J].信息技術(shù)與信息化,2019(6):79-81.
[2] 馬炳周.基于SSM的高校知識分享系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].山東工業(yè)技術(shù),2019(20):189.
[3] 鄭逸凡.基于SSM框架的在線教學(xué)系統(tǒng)的設(shè)計(jì)[J].長沙大學(xué)學(xué)報(bào),2019(2):41-44.
[4] 王先清.基于SSM架構(gòu)博客平臺設(shè)計(jì)與實(shí)現(xiàn)[J].電腦知識與技術(shù),2018(19):107-109.
[5] 向露.基于SSM的智能停車場管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2018(13):24-27,32.