如何自己做個簡單網(wǎng)站神馬搜索推廣
摘 ???要
本次設(shè)計內(nèi)容是基于Springboot的旅游系統(tǒng)的設(shè)計與實現(xiàn),采用B/S三層架構(gòu)分別是Web表現(xiàn)層、Service業(yè)務(wù)層、Dao數(shù)據(jù)訪問層,并使用Springboot,MyBatis二大框架整合開發(fā)服務(wù)器端,前端使用vue,elementUI技術(shù),開發(fā)采用了Idea編輯工具、Tomcat服務(wù)器和MySQL數(shù)據(jù)庫。
此系統(tǒng)包括了前臺用戶端、后臺管理員端兩大模塊。前臺用戶端主要是供用戶瀏覽、查看景區(qū)、美食、旅游路線、新聞等信息,并在線進(jìn)行預(yù)訂、下單等操作。后臺管理員端主要供管理員維護(hù)系統(tǒng)前臺用戶端信息,包括美食發(fā)布、用戶賬號管理、景區(qū)信息發(fā)布、預(yù)訂訂單查看管理、新聞發(fā)布等管理,便于維護(hù)用戶端各類信息。
關(guān)鍵詞:旅游系統(tǒng);springboot框架;MySQL數(shù)據(jù)庫;Java Web;vue
1 緒論
1.1課題的開發(fā)背景
隨著旅游業(yè)的發(fā)展,越來越多的人開始重視旅游觀光網(wǎng)站的作用。旅游觀光網(wǎng)站是旅游業(yè)的重要組成部分,也是當(dāng)今世界旅游業(yè)發(fā)展的趨勢之一。旅游觀光網(wǎng)站作為旅游服務(wù)平臺,不僅可以提供旅游信息,還能為用戶提供旅游預(yù)訂、旅游指南等一系列服務(wù),方便用戶的旅游體驗。
“海島漁鄉(xiāng)”是一種新型的旅游形態(tài),也是當(dāng)前旅游業(yè)中備受關(guān)注的熱點(diǎn)之一。它結(jié)合了海島的自然風(fēng)光和漁鄉(xiāng)文化的特色,為游客提供了獨(dú)特的旅游體驗。隨著旅游市場的不斷擴(kuò)大,越來越多的旅游觀光網(wǎng)站開始關(guān)注“海島漁鄉(xiāng)”這一旅游形態(tài)的發(fā)展。
本研究旨在探究“海島漁鄉(xiāng)”旅游觀光網(wǎng)站的發(fā)展現(xiàn)狀、特點(diǎn)和趨勢,分析其對旅游業(yè)的影響和未來的發(fā)展方向,從而為旅游觀光網(wǎng)站的建設(shè)和發(fā)展提供一定的參考。
1.2課題研究的目的與意義?
一方面,許多旅行社在組織、分類和保存信息方面不夠好,大多仍使用傳統(tǒng)的紙質(zhì)書籍進(jìn)行保存。對于少量的信息,仍然可以處理,但一旦信息量變大,就非常不方便進(jìn)行排序和保存,人力和物質(zhì)資源的成本也會增加。這種人為的過程也更容易出現(xiàn)疏忽、遺漏或錯誤。這種方法并不適合長期的數(shù)據(jù)保存。此外,游客獲取旅游信息的方式也不是非常方便和高效。使用計算機(jī)技術(shù)是一個非常明智的選擇。
另一方面,許多旅游廣告采取統(tǒng)一的推廣方式,既不突出景區(qū)的特色,也沒有把握自己的優(yōu)勢。如今,旅游業(yè)發(fā)展迅速,各地旅行社的數(shù)量日益增多,旅游業(yè)之間的競爭加劇。然而,對于如此多的旅行社,其實際質(zhì)量參差不齊,游客無法區(qū)分好壞。許多旅行社推出了各種低價旅游團(tuán)以提高競爭力和吸引客戶。然而,對于一些低價旅游團(tuán),在實際旅行中,旅行社與旅游目的地的各種供應(yīng)商勾結(jié),導(dǎo)游使用各種名目向客戶銷售一些不必要的物品,并強(qiáng)迫他們購買。如果有人提出反對意見,他們必然會面臨個人攻擊,甚至忽視游客的安全并將他們趕下旅游大巴。這種現(xiàn)象現(xiàn)在層出不窮,也不鮮見。旅游目的地周圍的地區(qū)也受到不良商家的困擾,甚至連最基本的服務(wù)問題都無法保證。這些事件和現(xiàn)象不僅影響各種旅游景點(diǎn)的聲譽(yù),而且嚴(yán)重阻礙了旅游業(yè)的整體發(fā)展,這也將影響經(jīng)濟(jì)發(fā)展。如今,由于上述原因,許多游客會因基本的信任問題而失去對旅行社的信任,并選擇自助旅游。因此,各地旅游信息的組織特別重要。無論是想?yún)⒓訄F(tuán)體旅游的游客還是計劃選擇自助游的游客都需要了解關(guān)于目的地及其周圍的各種信息。然而,僅通過紙質(zhì)材料獲取信息已成為新的問題,主要原因是處理各種信息的方法不當(dāng)。如果這些旅游相關(guān)信息可以以全面、安全、高效的方式存儲,并可以方便快捷地讓游客訪問,那么問題就可以輕松解決。如今,隨著科技的發(fā)展,許多行業(yè)都使用計算機(jī)和互聯(lián)網(wǎng)技術(shù)將信息存儲在虛擬的網(wǎng)絡(luò)空間,并高效地運(yùn)作。考慮到社會的當(dāng)前發(fā)展趨勢,這是旅游業(yè)的一個好方法。
2 系統(tǒng)開發(fā)環(huán)境及技術(shù)
2.1 系統(tǒng)開發(fā)環(huán)境
硬件平臺:CPU:2.50GHz;內(nèi)存:8G。
軟件平臺:操作系統(tǒng):Windows10;數(shù)據(jù)庫:MySQLServer5.7
開發(fā)工具包:IDEA+jdk1.8;應(yīng)用服務(wù)器:tomcat9.0;瀏覽器:GoogleChrome
2.2 系統(tǒng)開發(fā)技術(shù)
2.2.1 ?SpringBoot框架
Spring Boot是在原來Spring的基礎(chǔ)上進(jìn)行開發(fā)的,并且它可以快速創(chuàng)建一個應(yīng)用框架。它的設(shè)計思想是簡化Spring應(yīng)用的搭建和開發(fā)過程,提供一種“開箱即用”的方式來創(chuàng)建單獨(dú)的、生產(chǎn)級別的Spring應(yīng)用程序[10]。
Spring Boot為了降低開發(fā)Spring應(yīng)用程序的復(fù)雜性,提供了如下的一些特性。例如:
- 配置自動化:該框架包含了很多默認(rèn)的配置,讓開發(fā)者在不需要進(jìn)行手動配置的情況下還能夠使用非常多的常見功能。
- 快速開發(fā):通過使用Spring Starter項目快速開始一個項目,并利用Spring Boot的自動配置特性快速搭建應(yīng)用。
3. 內(nèi)嵌式Web容器:Spring Boot內(nèi)置了Tomcat、Jetty或Undertow,使得開發(fā)者無需手動部署和配置Web服務(wù)器。
4. 應(yīng)用監(jiān)控:Spring Boot提供了豐富的指標(biāo)和監(jiān)控工具,作為開發(fā)者診斷應(yīng)用和理解程序的工具。
2.2.2 ?Mybatis框架
Mybatis它是持久化框架中的一種。給開發(fā)者提供的有SQL映射、參數(shù)自動映射等功能,讓數(shù)據(jù)庫的各類操作變得更加簡單和高效。Mybatis最大的優(yōu)勢就是可以很好地解決傳統(tǒng)JDBC編程的問題,提高了代碼的可讀性和維護(hù)性。 Mybatis的核心組件包括:SqlSessionFactory、SqlSession、Mapper以及Mybatis配置文件[11]。 其中,SqlSessionFactory是創(chuàng)建SqlSession的工廠類,SqlSession封裝了sql語句的執(zhí)行方法,Mapper則是用來描述數(shù)據(jù)操作的接口,而Mybatis配置文件則是用來配置SqlSessionFactory和Mapper的。 Mybatis采用XML文件或注解方式進(jìn)行SQL映射,并且支持動態(tài)SQL拼裝,可以在運(yùn)行時根據(jù)不同的條件構(gòu)建出不同的SQL語句,使得開發(fā)更加靈活和高效[15]。
2.2.3 ?Vue、ElementUI前端框架
Vue是一種輕量級的框架,被設(shè)計為構(gòu)建大規(guī)模的高性能Web應(yīng)用程序。Vue具有易于學(xué)習(xí)和使用、高效、靈活和可組件化等優(yōu)點(diǎn)。
ElementUI其實就是基于Vue框架進(jìn)行開發(fā)的組件庫,它可以快速來構(gòu)建Web應(yīng)用程序的UI界面。它包含了諸如按鈕、表格、日期選擇器、對話框、提示框等幾十個組件,并且都具有可自定義樣式和可組合性的特點(diǎn)。使用ElementUI可以使得構(gòu)建Web應(yīng)用程序的UI界面更加簡單、快捷和美觀。
綜上所述,Vue和ElementUI可以一起使用,以構(gòu)建快速、高效、可組件化、美觀的Web應(yīng)用程序。
2.2.4 ?MYSQL數(shù)據(jù)庫
MySQL是一種開源的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它是最流行的開源數(shù)據(jù)庫之一,也是Web應(yīng)用程序開發(fā)中最常用的數(shù)據(jù)庫之一[2]。MySQL能夠支持Windows、Linux等多類型的操作系統(tǒng),也可以支持Java等各種編程語言。
該數(shù)據(jù)庫的應(yīng)用范圍非常廣泛,包括Web應(yīng)用程序、電子商務(wù)、金融、游戲、媒體等領(lǐng)域。MySQL具有高性能、可擴(kuò)展性、安全性、易用性和開源性等特點(diǎn),可以滿足不同規(guī)模和復(fù)雜度的應(yīng)用需求。隨著大數(shù)據(jù)和云計算技術(shù)的發(fā)展,MySQL也將繼續(xù)發(fā)揮重要作用,為各種應(yīng)用場景提供高效、可靠的數(shù)據(jù)管理服務(wù)。
2.2.5 ?Tomcat服務(wù)器
Tomcat是一個基于Java的開源Web應(yīng)用程序服務(wù)器,由Apache軟件基金會維護(hù)。它支持Java Servlet、JavaServer Pages(JSP)、JavaServer Faces(JSF)和其他一些Java技術(shù)來創(chuàng)建動態(tài)Web類型的應(yīng)用。Tomcat是用來運(yùn)行Web應(yīng)用,獲取客戶端的請求進(jìn)行處理,然后把響應(yīng)后的結(jié)果再返回給客戶端。它具有良好的安全性和穩(wěn)定性[12],易于配置和管理,它特支持在不同平臺上使用,能夠支持Windows、Linux等多類型操作系統(tǒng)。同時,Tomcat也具有高度的靈活性和可擴(kuò)展性,可以通過插件和擴(kuò)展支持其他的Web開發(fā)技術(shù)和框架。它是Java Web應(yīng)用程序開發(fā)和部署的首選Web容器之一。
3 系統(tǒng)可行性研究
3.1 操作可行性分析
本系統(tǒng)開發(fā)的開發(fā)宗旨是以便捷為中心開發(fā)后的系統(tǒng)應(yīng)具有美觀、大方、簡單、易操作等優(yōu)點(diǎn),即使是不懂計算機(jī)的人員也可以根據(jù)系統(tǒng)提示使用和管理本系統(tǒng),它的操作簡單的特點(diǎn)使本系統(tǒng)在操作上可行[15]。
3.2 經(jīng)濟(jì)可行性分析
該系統(tǒng)開發(fā)用到的開發(fā)工具IDEA、數(shù)據(jù)庫MySQL等都是能夠從網(wǎng)上找到不需要付費(fèi)的破譯版本的,包括用到的開發(fā)技術(shù)都是開源的。因此,沒有任何需要付費(fèi)的成本。等到開發(fā)完成后,也不需要多余的宣傳成本,所以說該系統(tǒng)的經(jīng)濟(jì)可行性無問題。
3.3 技術(shù)可行性分析
本系統(tǒng)采用的模式是B/S框架、MVC開發(fā)模式,里面主要包括了前臺用戶端和后臺管理員端兩大模塊部分、數(shù)據(jù)庫的內(nèi)容維護(hù)等。系統(tǒng)開發(fā)用到的開發(fā)工具是IDEA,MySQL數(shù)據(jù)庫,SpringBoot、Mybatis后端框架,前端頁面開發(fā)用到了vue、elementUI新技術(shù)[7]。這些技術(shù)都是學(xué)習(xí)過,在網(wǎng)上也可以找到免費(fèi)學(xué)習(xí)資料,因此技術(shù)上無難點(diǎn)且可行。
4 系統(tǒng)需求設(shè)計
4.1 旅游前臺功能需求
前臺功能是給用戶使用的,主要提供給用戶的功能大體上有:用戶的注冊登錄、系統(tǒng)首頁展示宣傳、新聞資訊展示、景點(diǎn)景區(qū)介紹展示、地方特色美食展示推薦、出游路線推薦展示、留言入口提供、個人相關(guān)信息查看修改、線路預(yù)定管理等。
4.2 旅游后臺功能需求
后臺管理系統(tǒng)是為管理員使用的,目的是為前臺用戶展示端做數(shù)據(jù)維護(hù)管理的。主要提供給管理員的功能有管理員系統(tǒng)登錄,前臺用戶管理,景區(qū)展示信息發(fā)布、地方特色美食發(fā)布、推薦旅游線路維護(hù)、用戶訂單查看處理、展示新聞推送,系統(tǒng)設(shè)置等管理功能。
5 系統(tǒng)概要設(shè)計
5.1 系統(tǒng)總體功能結(jié)構(gòu)
此系統(tǒng)包括了前臺用戶端、后臺管理員端兩大模塊。前臺用戶端主要是供用戶瀏覽、查看景區(qū)、美食、旅游路線、新聞等信息,并在線進(jìn)行預(yù)訂、下單等操作。后臺管理員端主要供管理員維護(hù)系統(tǒng)前臺用戶端信息,包括美食發(fā)布、用戶賬號管理、景區(qū)信息發(fā)布、預(yù)訂訂單查看管理、新聞發(fā)布等管理,便于維護(hù)用戶端各類信息。系統(tǒng)總體功能結(jié)構(gòu)圖如下圖5.1、5.2所示:
圖5.1??前臺功能結(jié)構(gòu)圖
圖5.2??后臺功能結(jié)構(gòu)圖?
5.2?系統(tǒng)功能模塊設(shè)計
5.2.1 ?旅游前臺模塊設(shè)計
前臺用戶端主要是供用戶瀏覽、查看景區(qū)、美食、旅游路線、新聞等信息,并在線進(jìn)行預(yù)訂、下單等操作。
(1)用戶注冊模塊
提供用戶注冊功能,用戶需要注冊賬號才能登錄
(2)用戶登錄模塊
提供用戶登錄功能,用戶需要登錄才能進(jìn)行下單操作
(3)首頁模塊
展示分類導(dǎo)航菜單和人氣景點(diǎn)、地方美食、旅游線路、旅游資訊,方便用戶選購
(4)旅游新聞模塊
用戶可以搜索站內(nèi)或者行內(nèi)新聞信息
(5)景區(qū)信息模塊
用戶可以根據(jù)地區(qū)選擇景點(diǎn)信息
(6)美食信息模塊
用戶可以根據(jù)分類和名稱搜索美食信息
(7)旅游線路模塊
用戶可以根據(jù)出發(fā)點(diǎn)、終點(diǎn)、途徑地搜索旅游線路
(8)在線留言模塊
用戶可以提交留言信息
(9)個人中心模塊
用戶可以修改個人資料、修改密碼、查看自己收藏、查看自己留言信息
5.2.2 ?旅游后臺模塊設(shè)計
后臺管理員端主要供管理員維護(hù)系統(tǒng)前臺用戶端信息,包括美食發(fā)布、用戶賬號管理、景區(qū)信息發(fā)布、預(yù)訂訂單查看管理、新聞發(fā)布等管理,便于維護(hù)用戶端各類信息。
(1)管理員登錄模塊
后臺管理員用分配給自己的賬號、密碼登錄到該后臺,完成自己的管理維護(hù)工作。此部分僅供內(nèi)部人員使用,不公開。
(2)賬號管理模塊
管理員賬號管理:查詢、修改、刪除、添加
用戶管理:查詢、修改、刪除、添加
修改密碼。
(3)地區(qū)管理模塊
地區(qū)添加、查詢、修改、刪除等。
(4)景點(diǎn)信息管理模塊
旅游景點(diǎn)添加、修改、刪除、查詢等
(5)地方美食管理模塊
地方美食添加、修改、刪除、查詢等
(6)旅游線路管理模塊
旅游線路添加、修改、刪除、查詢等
(7)訂單信息管理模塊
查詢用戶下的訂單信息等
(8)新聞管理模塊
新聞添加、查詢、修改、刪除等
(9)系統(tǒng)管理模塊
友情鏈接添加、查詢
(10)輪播圖添加、查詢
留言管理:修改、刪除、詳情等
5.3?數(shù)據(jù)庫設(shè)計
5.3.1 ?數(shù)據(jù)庫表結(jié)構(gòu)設(shè)計
該系統(tǒng)根據(jù)前臺、后臺的功能劃分規(guī)劃,設(shè)計出的業(yè)務(wù)邏輯表一共有15個,詳細(xì)表結(jié)構(gòu)設(shè)計如下所示:
后臺管理員用戶表admins,如下表5.1所示:
表5.1 ?管理員表admins
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
id | int(30) | no | 主鍵 | |
username | varchar (20) | yes | NULL | 帳號 |
pwd | datetime | yes | NULL | 密碼 |
addtime | int(30) | yes | NULL | 添加時間 |
地方美食表difangmeishi,如下表5.2所示:
表5.2??地方美食表difangmeishi
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
id | int(10) | no | 主鍵 | |
meishibianhao | varchar (20) | yes | NULL | 美食編號 |
mingcheng | varchar (20) | yes | NULL | 名稱 |
fujinjingdian | varchar (20) | yes | NULL | 附近景點(diǎn) |
fenlei | int(10) | yes | NULL | 分類 |
tupian | text | yes | NULL | 圖片 |
jiage | decimal | yes | NULL | 價格 |
meishijianjie | text | yes | NULL | 美食簡介 |
addtime | timestamp | yes | NULL | 添加時間 |
?地區(qū)表diqu,如下表5.3所示:
表5.3 ?地區(qū)表diqu
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
id | varchar (50) | no | 主鍵 | |
diqumingcheng | varchar (50) | yes | NULL | 地區(qū)名稱 |
addtime | datetime | yes | NULL | 添加時間 |
景點(diǎn)信息表jingdianxinxi,如下表5.4所示:
表5.4 ?景點(diǎn)信息表jingdianxinxi
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
id | varchar (11) | no | 主鍵id | |
jingdianbianhao | varchar (11) | yes | NULL | ??景點(diǎn)編號 |
jingdianmingcheng | datetime | yes | NULL | 景點(diǎn)名稱 |
suoshudiqu | int(50) | yes | NULL | 所屬地區(qū) |
tupian | varchar (11) | yes | NULL | 圖片 |
kaifangshijian | datetime | yes | NULL | 開放時間 |
fujinmeishi | varchar (11) | yes | NULL | 附近美食 |
dizhi | varchar (11) | yes | NULL | 地址 |
piaojia | varchar (11) | yes | NULL | 票價 |
liulanliang | varchar (11) | yes | NULL | 瀏覽量 |
miaoshu | varchar (11) | yes | NULL | 描述 |
addtime | int(50) | yes | NULL | 添加時間 |
留言板表liuyanban,如下表5.5所示:
?????????????????????????????表5.5 ?留言板表liuyanban
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | varchar(50) | no | 主鍵 | |
xingming | varchar(50) | yes | NULL | 姓名 |
lianxidianhua | datetime | yes | NULL | 聯(lián)系電話 |
liuyanneirong | int(50) | yes | NULL | 留言內(nèi)容 |
liuyanren | varchar (11) | yes | NULL | 留言人 |
huifuneirong | datetime | yes | NULL | 回復(fù)內(nèi)容 |
addtime | varchar (11) | yes | NULL | 添加時間 |
?輪播圖表lunbotu,如下表5.6所示:
表5.6 ?輪播圖表lunbotu
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | Int(11) | no | 主鍵 | |
title | varchar (11) | yes | NULL | 標(biāo)題 |
image | varchar (11) | yes | NULL | 圖片 |
url | varchar (11) | yes | NULL | 連接地址 |
addtime | timestamp | yes | NULL | 添加時間 |
旅游線路表lvyouxianlu,如下表5.7所示:
表5.7 ?旅游線路表lvyouxianlu
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | int(11) | no | 主鍵 | |
xianlubianhao | varchar(11) | yes | NULL | 線路編號 |
xianlumingcheng | varchar(11) | yes | NULL | 線路名稱 |
Tupian | text | yes | NULL | 圖片 |
chufadi | varchar(11) | yes | NULL | 出發(fā)地 |
tujingdi | varchar(11) | yes | NULL | 途經(jīng)地 |
zhongdian | varchar(11) | yes | NULL | 終點(diǎn) |
jiage | decimal | yes | NULL | 價格 |
liulanliang | int(11) | yes | NULL | 瀏覽量 |
xianlutese | longtext(11) | yes | NULL | 線路特色 |
xianlujianjie | longtext(11) | yes | NULL | 線路簡介 |
addtime | timestamp | yes | NULL | 添加時間 |
美食分類表meishifenlei,如下表5.8所示:
表5.8 ?美食分類表meishifenlei
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | varchar (50) | no | 主鍵 | |
fenleimingcheng | varchar (50) | yes | NULL | 分類名稱 |
addtime | datetime | yes | NULL | 添加時間 |
收藏記錄表shoucangjilu,如下表5.9所示:
表5.9 ?收藏記錄表shoucangjilu
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | int(11) | no | 主鍵 | |
username | varchar (50) | yes | NULL | 收藏用戶 |
xwid | int(11) | yes | NULL | 對應(yīng)模塊id |
biao | varchar (50) | yes | NULL | 收藏得模塊 |
biaoti | varchar (50) | yes | NULL | 顯示的標(biāo)題 |
url | varchar (50) | yes | NULL | 收藏URL |
ziduan | varchar (50) | yes | NULL | 對應(yīng)模塊字段 |
addtime | timestamp | yes | NULL | 添加時間 |
token表,如下表6-10所示:
表5.10 ?token表
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
token | varchar (50) | no | 唯一值 | |
session | varchar (50) | yes | NULL | 保存得數(shù)據(jù) |
cx | datetime | yes | NULL | 登錄權(quán)限 |
login | int(11) | yes | NULL | 登錄模塊 |
username | varchar (50) | yes | NULL | 登錄用戶 |
valueid | datetime | yes | NULL | 用戶id |
token_time | varchar (50) | yes | NULL | 當(dāng)前時間 |
新聞分類表xinwenfenlei,如下表6-11所示:
表5.11 ?新聞分類表xinwenfenlei
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | Int(10) | no | 主鍵 | |
fenleimingcheng | varchar (50) | yes | NULL | 分類名稱 |
addtime | timestamp | yes | NULL | 添加時間 |
聞信息表xinwenxinxi,如下表5.12所示:
表5.12 ?新聞信息表xinwenxinxi
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | Int(10) | no | 主鍵 | |
Biaoti | varchar (50) | yes | NULL | 標(biāo)題 |
fenlei | Int(10) | yes | NULL | 分類 |
tupian | varchar (50) | yes | NULL | 圖片 |
tianjiaren | varchar (50) | yes | NULL | 添加人 |
dianjilv | Int(10) | yes | NULL | 點(diǎn)擊率 |
neirong | longtext | yes | NULL | 內(nèi)容 |
addtime | timestamp | yes | NULL | 添加時間 |
用戶表yonghu,如下表5.13所示:
表5.13 ?用戶表yonghu
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | Int(10) | no | 主鍵 | |
yonghuming | varchar (50) | yes | NULL | 用戶名 |
mima | varchar (50) | yes | NULL | 密碼 |
xingming | varchar (50) | yes | NULL | 姓名 |
xingbie | varchar (50) | yes | NULL | 性別 |
shouji | varchar (50) | yes | NULL | 手機(jī) |
youxiang | varchar (50) | yes | NULL | 郵箱 |
shenfenzheng | varchar (50) | yes | NULL | 身份證 |
touxiang | varchar (50) | yes | NULL | 頭像 |
addtime | timestamp | yes | NULL | 添加時間 |
友情鏈接表youqinglianjie,如下表5.14所示:
表5.14 ?友情鏈接表youqinglianjie
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | Int(10) | no | 主鍵 | |
wangzhanmingcheng | varchar (50) | yes | NULL | 網(wǎng)站名稱 |
wangzhi | varchar (50) | yes | NULL | 網(wǎng)址 |
addtime | timestamp | yes | NULL | 添加時間 |
預(yù)定表yuding,如下表5.15所示:
表5.15 ?預(yù)定表yuding
名稱 | 類型 | 空 | 默認(rèn)值 | 備注 |
ID | Int(10) | no | 主鍵 | |
lvyouxianluid | Int(10) | yes | NULL | 旅游線路id |
xianlubianhao | varchar (50) | yes | NULL | 線路編號 |
xianlumingcheng | varchar (50) | yes | NULL | 線路名稱 |
chufadi | varchar (50) | yes | NULL | 出發(fā)地 |
tujingdi | varchar (50) | yes | NULL | 途經(jīng)地 |
zhongdian | varchar (50) | yes | NULL | 終點(diǎn) |
jiage | decimal | yes | NULL | 價格 |
dingdanhao | varchar (50) | yes | NULL | 訂單號 |
yudingshijian | varchar (50) | yes | NULL | 預(yù)訂時間 |
yudingrenxingming | varchar (50) | yes | NULL | 預(yù)訂人姓名 |
lianxifangshi | varchar (50) | yes | NULL | 聯(lián)系方式 |
zhuangtai | varchar (50) | yes | NULL | 狀態(tài) |
beizhu | text | yes | NULL | 備注 |
yudingren | varchar (50) | yes | NULL | 預(yù)訂人 |
addtime | timestamp | yes | NULL | 添加時間 |
iszf | varchar (50) | yes | NULL | 是否支付 |
5.3.2 ?數(shù)據(jù)庫數(shù)據(jù)表實現(xiàn)
系統(tǒng)開發(fā)數(shù)據(jù)庫選擇的是MySQL,選擇了Navicat Premium可視化連接數(shù)據(jù)庫工具進(jìn)行操作數(shù)據(jù)庫。以下是用連接工具完成數(shù)據(jù)庫創(chuàng)建的實現(xiàn)過程:
后臺管理員用戶表admins創(chuàng)建效果如圖5.3所示:
?圖5.3??管理員表admins
地方美食表difangmeishi如下圖5.4所示:
?圖5.4??地方美食表difangmeishi
地區(qū)表diqu如下圖5.5所示:
?圖5.5 ?地區(qū)表diqu
景點(diǎn)信息表jingdianxinxi如下圖5.6所示:
?圖5.6 ?景點(diǎn)信息表jingdianxinxi
留言板表liuyanban如下圖5.7所示:
?圖5.7 ?留言板表liuyanban
輪播圖表lunbotu如下圖5.8所示:
圖5.8 ?輪播圖表lunbotu
旅游線路表lvyouxianlu如下圖5.9所示:
圖5.9 ?旅游線路表lvyouxianlu
美食分類表meishifenlei如下圖5.10所示:
圖5.10 ?美食分類表meishifenlei
收藏記錄表shoucangjilu如下圖5.11所示:
?圖5.11 ?收藏記錄表shoucangjilu
token表如下圖5.12所示:
圖5.12??token表
新聞分類表xinwenfenlei如下圖5.13所示:
圖5.13??新聞分類表xinwenfenlei
新聞信息表xinwenxinxi如下圖5.14所示:
?圖5.14??新聞信息表xinwenxinxi
用戶表yonghu如下圖5.15所示:
?圖5.15??用戶表yonghu
友情鏈接表youqinglianjie如下圖5.16所示:
?圖5.16??友情鏈接表youqinglianjie
預(yù)定表yuding如下圖5.17所示:
?圖5.17??預(yù)定表yuding
6 系統(tǒng)詳細(xì)設(shè)計與實現(xiàn)
6.1 系統(tǒng)功能實現(xiàn)的Springboot框架
Springboot框架的本質(zhì)就是把Spring、SpringMVC整合在一起再進(jìn)行簡化優(yōu)化的框架,它也是標(biāo)準(zhǔn)的MVC模式。在開發(fā)過程中把系統(tǒng)分成了表現(xiàn)層、業(yè)務(wù)邏輯層、數(shù)據(jù)訪問層,從而縮短開發(fā)系統(tǒng)的周期時間[10]。
6.1.1 SpringBoot配置文件
spring.datasource.username=root
spring.datasource.password=root
spring.datasource.url=jdbc:mysql://localhost:3306/tourism?useUnicode=true&chara cterEncoding=UTF-8&useOldAliasMetadataBehavior=true
#以下為mysql8.0以上使用
#spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/spbootvue07987lyxxtjxtsjysx? useUnicode=true&characterEncoding=UTF-8&useSSL=FALSE&serverTimezone=UTC&useOldA liasMetadataBehavior=true
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.initial-size=10
spring.datasource.max-idle=20
spring.datasource.min-idle=5
spring.datasource.max-active=50
spring.datasource.log-abandoned=true
spring.datasource.remove-abandoned=true
spring.datasource.remove-abandoned-timeout=180
spring.datasource.max-wait=1000
spring.datasource.test-while-idle=true
spring.datasource.validation-query=select 1
spring.datasource.test-on-borrow=true
spring.datasource.min-evictable-idle-time-millis=600000
spring.datasource.time-between-eviction-runs-millis=300000
spring.mvc.view.prefix=/
spring.mvc.view.suffix=.jsp
spring.mvc.pathmatch.use-suffix-pattern=false
spring.mvc.pathmatch.use-registered-suffix-pattern=true
spring.mvc.contentnegotiation.favor-path-extension=false
server.port=8088
server.servlet.context-path=/
mybatis.type-aliases-package=com.spring.boot.entity
mybatis.mapper-locations=classpath:mapper/*.xml
mapper.mappers=com.base.MapperBase
mapper.not-empty=false
mapper.identity=MYSQL
pagehelper.reasonable=true
pagehelper.supportMethodsArguments=true
pagehelper.params=count=countSql
spring.servlet.multipart.maxFileSize=-1
spring.servlet.multipart.maxRequestSize=-1
以上是springboot配置文件主要配置的參數(shù),主要配置端口和連接數(shù)據(jù)庫的數(shù)據(jù)源、mybatis配置等信息。
6.2 前臺功能模塊實現(xiàn)
前臺用戶端主要是供用戶瀏覽、查看景區(qū)、美食、旅游路線、新聞等信息,并在線進(jìn)行預(yù)訂、下單等操作。使用vue,elementUI技術(shù),開發(fā)采用了Idea編輯工具、Tomcat服務(wù)器和MySQL數(shù)據(jù)庫。
6.2.1 用戶登錄
用戶登錄,如下圖6.1所示:
?圖6.1??用戶登錄
6.2.2 用戶注冊頁面
用戶注冊如下圖6.2所示:
圖6.2 ?用戶注冊頁面
6.2.3?首頁頁面
首頁頁面如下圖6.3所示:
圖6.3??首頁頁面
?6.2.4?旅游新聞頁面
旅游新聞頁面如下圖6.4所示:
圖6.4 ?旅游新聞頁面
6.2.5?景區(qū)信息頁面
景區(qū)信息頁面如下圖6.5所示:
圖6.5 ?景區(qū)信息頁面
6.2.6?美食信息頁面
美食信息頁面如下圖6.6所示:
圖6.6 ?美食信息頁面
6.2.7?旅游線路頁面
旅游線路頁面如下圖6.7所示:
圖6.7??旅游線路頁面
?6.2.8?在線留言頁面
在線留言頁面如下圖6.8所示:
圖6.8??在線留言頁面
6.2.9?個人中心頁面
個人中心頁面如下圖6.9所示:
圖6.9??個人中心頁面
6.2.10?線路預(yù)訂管理頁面
線路預(yù)訂管理如下圖6.9所示:
圖6.9??線路預(yù)訂管理頁面
6.3?后臺功能模塊實現(xiàn)
后臺管理員端主要供管理員維護(hù)系統(tǒng)前臺用戶端信息,包括美食發(fā)布、用戶賬號管理、景區(qū)信息發(fā)布、預(yù)訂訂單查看管理、新聞發(fā)布等管理,便于維護(hù)用戶端各類信息。使用vue,elementUI技術(shù),開發(fā)采用了Idea編輯工具、Tomcat服務(wù)器和MySQL數(shù)據(jù)庫。
6.3.1?管理員登錄頁面
管理員登錄頁面,如下圖6.10所示:
圖6.10??管理員登錄頁面
?6.3.2?賬號管理頁面
賬號管理頁面,如下圖6.11所示:
圖6.11??賬號管理頁面
?6.3.3?地區(qū)管理頁面
地區(qū)管理頁面,如下圖6.12所示:
圖6.12??地區(qū)管理頁面
6.3.4?景點(diǎn)信息管理頁面
景點(diǎn)信息管理頁面,如下圖6.13所示:
圖6.13??景點(diǎn)信息管理頁面
6.3.5?地方美食管理頁面
地方美食管理頁面,如下圖6.14所示:
圖6.14??地方美食管理頁面?
6.3.6?旅游線路管理頁面
旅游線路管理頁面,如下圖6.15所示:
圖6.15??旅游線路管理頁面
6.3.7?訂單信息管理頁面
訂單信息管理頁面,如下圖6.16所示:
圖6.16??訂單信息管理頁面?
6.3.8?新聞管理頁面
新聞管理頁面,如下圖6.17所示:
圖6.17??新聞管理頁面
6.3.9?系統(tǒng)管理頁面
系統(tǒng)管理頁面,如下圖6.18所示:
圖6.18??系統(tǒng)管理頁面
7?系統(tǒng)測試
7.1?軟件測試目的
軟件測試的目的是為了發(fā)現(xiàn)并糾正軟件中的錯誤、缺陷和漏洞,以確保軟件產(chǎn)品的質(zhì)量和穩(wěn)定性,提高用戶的滿意度和信任度。同時,軟件測試也可以幫助開發(fā)團(tuán)隊發(fā)現(xiàn)潛在的問題,并為軟件產(chǎn)品的改進(jìn)提供支持。
7.2?軟件測試步驟
(1)模塊化測試,該測試需將整體的系統(tǒng)功能拆分成一個一個小模塊,然后按照模塊化進(jìn)行測試,在測試過程中將每個小模塊里面的問題找出來并記錄好,從而把問題都一一解決并完善好。
(2)整體性測試,系統(tǒng)按照模塊化把功能都測試完成后,再把小模塊的內(nèi)容全部整合到一起測試,按照需求整理好系統(tǒng)整體流程,梳理好整體流程。按照整體確定的流程完成系統(tǒng)整體測試,使各個模塊有密切聯(lián)系,這樣做才可完成確定的操作流程;
(3)測試結(jié)果驗收,在項目驗收之前多次測試,在確保沒問題情況下即可交付客戶。
7.3?系統(tǒng)測試過程和結(jié)論
以下對后臺的登錄功能測試用到的是黑盒測試,在后臺系統(tǒng)的登錄頁面輸入錯誤的用戶名、密碼,會提示賬號密碼有錯誤,具體效果如圖7.1所示:
圖7.1 ?后臺登錄驗證賬號密碼
(1)在登錄的頁面上輸入正確的用戶名、密碼,提示系統(tǒng)登錄成功。實現(xiàn)效果如下圖7.2所示:
在識別到用戶名、密碼都輸入正確后,系統(tǒng)會進(jìn)行跳轉(zhuǎn)至系統(tǒng)主頁面。
圖7.2??后臺登錄頁面驗證賬號密碼?
由此可見,通過黑盒測試方式測出后臺系統(tǒng)成功。
結(jié) ???論
本次畢業(yè)設(shè)計基于springboot的旅游系統(tǒng)的設(shè)計與實現(xiàn)開發(fā)結(jié)束,已經(jīng)完全滿足了此系統(tǒng)的用戶、管理員的使用需求。從系統(tǒng)的展示頁面上來看簡潔大方,從用戶操作上來說方便,已經(jīng)盡量多次測試避免出現(xiàn)錯誤。但是,因為時間原因系統(tǒng)確實存在不足,系統(tǒng)的界面、邏輯設(shè)計、數(shù)據(jù)庫設(shè)計等都需要不斷優(yōu)化完善。做這次的畢業(yè)設(shè)計和論文,已經(jīng)將我大學(xué)四年學(xué)習(xí)到的Java知識、數(shù)據(jù)庫知識、開發(fā)框架等都進(jìn)行了應(yīng)用,也把我所學(xué)內(nèi)容進(jìn)行了鞏固和提升,加強(qiáng)了自己的編程能力。在編碼的時候,自己需要不斷去測試代碼、尋找問題,思考自己的需求等問題,也需要反復(fù)測試已經(jīng)完成的功能和修改里面測試出來的bug,讓自己解決問題的能力也得到了了快速的提升,并且對開發(fā)有了深層次的了解與認(rèn)識?,F(xiàn)在,自己的編碼能力確實得到了提升,也理解了大家說的代碼是調(diào)試出來的不是一氣呵成寫出來的。通過這次的畢業(yè)設(shè)計完成,我也全方位發(fā)現(xiàn)了自己的問題與需要提升的方向,這可能就是這次畢業(yè)設(shè)計最重要的目的。
參 考 文 獻(xiàn)
[1] 李樂.Java語言應(yīng)用研究[J].智慧中國,2022(09):80-81.
[2] 鄭戟明,董云朝,柳青.MySQL數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入導(dǎo)出方法的探討[J].電腦知識與技術(shù),2022,18(22):24-25.
[3] 宋旸.使用Java語言開發(fā)Web應(yīng)用軟件的知識探討[J].中國設(shè)備工程,2022(14):121-123.
[4] 王仲科.Web程序設(shè)計中數(shù)據(jù)庫獲取編程技巧與方法[J].電腦編程技巧與維護(hù),2022(07):68-70.
[5] 陳曉剛.計算機(jī)數(shù)據(jù)庫技術(shù)在信息管理中的應(yīng)用[J].無線互聯(lián)科技,2022,19(13):123-125.
[6] 李璋,趙鴻皓,黃震,陳逸凡,楊洲.Java在程序設(shè)計語言課程中的應(yīng)用[J].長江信息通信,2022,35(07):108-111.
[7] 季煥淑.基于HTML5技術(shù)的移動Web前端設(shè)計與開發(fā)[J].電腦編程技巧與維護(hù),2022(10):74-76+169.
[8] 曹方玲.HTML5在Web前端開發(fā)中的應(yīng)用[J].長江信息通信,2022,35(10):106-108+111.
[9] 吳曉霞.服裝企業(yè)ERP管理信息系統(tǒng)的設(shè)計與實現(xiàn)[J].當(dāng)代會計,2021(01):177-178.
[10]?小馬哥. Spring Boot編程思想(核心篇)[M]. 電子工業(yè)出版社,2019.
[11]?李剛.輕量級javaEE企業(yè)應(yīng)用實戰(zhàn)[M].北京:電子工業(yè)出版社,2014:190-600.
[12]?張躍平、耿祥義. JSP程序設(shè)計(第2版)[M].清華大學(xué)出版社, 2015.
[13]?張海藩.軟件工程[M].清華大學(xué)出版社,2009.
[14] 蔡劍、景楠.Java Web應(yīng)用開發(fā)[M]. 清華大學(xué)出版社,2005.
[15] 楊開振.java ee互聯(lián)網(wǎng)輕量級框架整合開發(fā)SSM框架[M]. 電子工業(yè)出版社,2017.
[16] 瘋狂軟件.Spring+MyBatis企業(yè)應(yīng)用實戰(zhàn)[M]. 電子工業(yè)出版社,2017.
[17] ??藸? JAVA編程思想(第4版)[M]. 機(jī)械工業(yè)出版社, 2007.
[18] 周志明. 深入理解JAVA虛擬機(jī) JVM高級特性與最佳實踐[M].機(jī)械工業(yè)出版社,2013.
[19] 許令波. 深入分析Java Web技術(shù)內(nèi)幕[M]. 電子工業(yè)出版社,2014.
喜歡的點(diǎn)贊收藏加關(guān)注私信作者溝通交流