java+vue+SpringBoo智慧旅游系統(程序+數據庫+報告+部署教程+答辯指導)

源代碼+數據庫+LW文檔(1萬字以上)+開題報告+答辯稿ppt+部署教程+代碼講解+代碼時間修改工具

技術實現

  1. 開發語言:后端:Java 前端:vue
  2. 框架:springboot
  3. 數據庫:mysql

開發工具
JDK版本:JDK1.8
數據庫:mysql 數據庫工具:Navicat
開發軟件:idea

主要角色及功能介紹
本次系統的用例圖做出了十分明確的功能劃分,在設計時可以有很好的設計思路進行設計和延展。
(1)管理員用例圖如下所示:
在這里插入圖片描述
圖3-1管理員用例圖
(2)用戶用例圖如下所示:
在這里插入圖片描述
圖3-2用戶用例圖

數據庫
數據庫設計之后,根據數據庫關系,可以更加清晰地了解數據庫結構,每一個數據表之間的關系,再創建數據表。快速更改和查詢對應的信息,有了數據庫就不用在程序和代碼中尋找。
分析智慧旅游系統的數據結構后,在E-R圖中分析管理員登錄時的模式,需要輸入用戶名與密碼,角色,管理員信息E-R如圖4-4所示。
在這里插入圖片描述
圖4-4 管理員信息E-R圖
用戶信息E-R圖如圖4-5所示。
在這里插入圖片描述
圖4-5用戶信息E-R圖
旅游路線E-R圖如圖4-6所示。
在這里插入圖片描述
圖4-6旅游路線E-R圖
車票信息E-R圖如圖4-7所示。
在這里插入圖片描述
圖4-7車票信息E-R圖
門票信息E-R圖如圖4-8所示。
在這里插入圖片描述
圖4-8門票信息E-R圖
酒店信息E-R圖如圖4-9所示。
在這里插入圖片描述
圖4-9酒店信息E-R圖
智慧旅游系統E-R關系總圖,如圖4-10所示。
在這里插入圖片描述
圖4-10 智慧旅游系統E-R關系模型圖
系統功能實現及截圖
5.1前臺用戶功能實現
當用戶打開系統的網址后,首先看到的就是首頁界面。在這里,用戶能夠看到智慧旅游系統的登錄頁面,有登錄賬號、登錄密碼等信息。系統首頁界面如圖5-1所示:
在這里插入圖片描述
圖5-1 系統首頁界面
用戶登陸的核心代碼如下:

/*** 登錄*/
@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", username));if(u==null || !u.getMima().equals(password)) {return R.error("賬號或密碼不正確");}String token = tokenService.generateToken(u.getId(), username,"yonghu",  "用戶" );return R.ok().put("token", token);
}

這是一個用戶注冊的界面,當用戶沒有賬戶時可以通過注冊來登錄系統,只需要根據相應的提示輸入用戶信息等即可。用戶注冊界面如圖5-2所示:
在這里插入圖片描述
圖5-2 用戶注冊界面
用戶注冊核心代碼如下:

/*** 注冊*/
@IgnoreAuth@RequestMapping("/register")public R register(@RequestBody YonghuEntity yonghu){//ValidatorUtils.validateEntity(yonghu);YonghuEntity u = yonghuService.selectOne(new EntityWrapper<YonghuEntity>().eq("yonghuzhanghao", yonghu.getYonghuzhanghao()));if(u!=null) {return R.error("注冊用戶已存在");}Long uId = new Date().getTime();yonghu.setId(uId);yonghuService.insert(yonghu);return R.ok();}

用戶點擊旅游路線頁面查看路線名稱、起點、終點、交通方式、導游費用、費用說明、發布時間、點擊次數等信息。如圖5-3所示:
在這里插入圖片描述
圖5-3旅游路線頁面
旅游路線核心代碼如下:

@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,LvyouluxianEntity lvyouluxian, HttpServletRequest request){EntityWrapper<LvyouluxianEntity> ew = new EntityWrapper<LvyouluxianEntity>();PageUtils page = lvyouluxianService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, lvyouluxian), params), params));return R.ok().put("data", page);}

用戶可以點擊車票頁面查看車票編號、車站名稱、座位類型、出發地、目的地、出發時間、班列介紹、車票價格等信息。如圖5-4所示:
在這里插入圖片描述
圖5-4車票信息界面
車票信息核心代碼如下:

@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,ChepiaoxinxiEntity chepiaoxinxi, HttpServletRequest request){EntityWrapper<ChepiaoxinxiEntity> ew = new EntityWrapper<ChepiaoxinxiEntity>();PageUtils page = chepiaoxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, chepiaoxinxi), params), params));return R.ok().put("data", page);}

用戶可以點擊景點信息頁面查看景點類型、門票價格、開放時間、景點地址、歷史背景、景點發布、特色活動、點擊次數等信息。如圖5-5所示:
在這里插入圖片描述
圖5-5景點信息界面
景點信息核心代碼如下:

@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,JingdianxinxiEntity jingdianxinxi, HttpServletRequest request){EntityWrapper<JingdianxinxiEntity> ew = new EntityWrapper<JingdianxinxiEntity>();PageUtils page = jingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jingdianxinxi), params), params));return R.ok().put("data", page);}

用戶可以點擊酒店信息頁面查看酒店類型、酒店地址、客房類型、客房數量、價格/天、聯系電話費用等信息。如圖5-6所示:
在這里插入圖片描述
圖5-6酒店信息界面
酒店信息核心代碼如下:

@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,JingdianxinxiEntity jingdianxinxi, HttpServletRequest request){EntityWrapper<JingdianxinxiEntity> ew = new EntityWrapper<JingdianxinxiEntity>();PageUtils page = jingdianxinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, jingdianxinxi), params), params));return R.ok().put("data", page);}

用戶可以點擊美食信息頁面查看美食分類、價格、美食地點、美食評分、美食主料、美食口味、美食特色、烹飪方法、發布時間、點擊次數等信息。如圖5-7所示:
在這里插入圖片描述
圖5-7美食信息界面
美食信息核心代碼如下:

@IgnoreAuth@RequestMapping("/list")public R list(@RequestParam Map<String, Object> params,MeishixinxiEntity meishixinxi, HttpServletRequest request){EntityWrapper<MeishixinxiEntity> ew = new EntityWrapper<MeishixinxiEntity>();PageUtils page = meishixinxiService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, meishixinxi), params), params));return R.ok().put("data", page);}

5.2后臺管理員功能實現
后臺管理員登錄,在登錄頁面輸入管理員賬號,在正確輸入用戶名和密碼后,點擊登錄操作;如圖5-8所示。
在這里插入圖片描述
圖5-8 后臺管理員登錄界面
后臺登陸核心代碼如下:

@IgnoreAuth
@RequestMapping(value = "/login")
public R login(String username, String password, String captcha, HttpServletRequest request) {UsersEntity user = userService.selectOne(new EntityWrapper<UsersEntity>().eq("username", username));if(user==null || !user.getPassword().equals(password)) {return R.error("賬號或密碼不正確");}String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());return R.ok().put("token", token);
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/89209.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/89209.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/89209.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Docker 入門教程(三):鏡像操作命令

文章目錄 &#x1f433; Docker 入門教程&#xff08;三&#xff09;&#xff1a;鏡像操作命令獲取鏡像&#xff1a;docker pull查看鏡像&#xff1a;docker images刪除鏡像&#xff1a;docker rmi搜索鏡像&#xff1a;docker search鏡像打標簽&#xff1a;docker tag鏡像詳情與…

如何修改discuz文章標題字數限制 修改成255

在 Discuz! X3.5 中&#xff0c;文章&#xff08;主題&#xff09;標題字數的限制可以通過修改數據庫結構以及后臺配置來實現&#xff0c;以下是完整的修改方法&#xff0c;將標題長度限制改為 255 個字符&#xff1a; ? 一、修改數據庫字段長度 Discuz 默認標題字段是 subje…

基于BP神經網絡的26個英文字母識別

本課題旨在設計并實現一個基于BP&#xff08;反向傳播&#xff09;神經網絡的英文字母識別系統&#xff0c;實現對手寫或打印的26個英文字母&#xff08;A-Z&#xff09;的自動分類識別。項目首先對字母圖像進行預處理&#xff08;如灰度化、歸一化、二值化和特征提取&#xff…

系統架構設計師論文分享-論云原生技術的應用

我的軟考歷程 摘要 2023年2月&#xff0c;我所在的公司做了開發紗線MES系統的決定&#xff0c;該系統為國內紗線工廠提供SAAS服務&#xff0c;旨在提高紗線工廠的智能化和數字化水平。我在該項目中被任命為系統架構設計師&#xff0c;全面掌管該項目的架構設計工作。該項目涉…

重置 MySQL root 密碼

引言 在linux可能存在安裝mysql安裝失敗&#xff0c;一直不出現默認密碼 /usr/local/mysql/mysql-8.0.26/bin/mysqld --defaults-file/etc/my.cnf --usermysql --basedir/usr/local/mysql/mysql-8.0.26 --datadir/usr/local/mysql/mysql-8.0.26/data --lower-case-table-name…

面試八股---HTML

面試八股 1、HTML 1.1 src和href的區別 src 用于替換當前元素&#xff0c;href 用于在當前文檔和引用資源之間確立聯系。 核心區別在于 href 關聯的資源&#xff08;主要是 CSS&#xff09;是用于描述頁面外觀的&#xff0c;瀏覽器可以先生成內容再應用樣式&#xff0c;因此…

氣候智能體:AI如何重構人類應對氣候危機的決策體系?

前言 前些天發現了一個巨牛的人工智能免費學習網站&#xff0c;通俗易懂&#xff0c;風趣幽默&#xff0c;忍不住分享一下給大家。點擊跳轉到網站 《氣候智能體&#xff1a;AI如何重構人類應對氣候危機的決策體系&#xff1f;》 展開全景式論述。文章結合2025年最新技術突破與…

UITableView的位置向下偏移, contentInsetAdjustmentBehavior使用詳情

一.contentInsetAdjustmentBehavior 作用: 在iOS 11及以后&#xff0c;蘋果引入了安全區域&#xff08;Safe Area&#xff09;的概念,當UITableView的frame超出了安全區域,系統會自定調整SafeAreaInsets的值,它可以自動調整內容的內邊距&#xff0c;使得內容不會被導航欄遮擋。…

騰訊云RayData全新推出“行業解決方案模板”,一鍵快捷制作3D數據可視化作品

點擊藍字? 關注我們 本文共計958字 預計閱讀時長3分鐘 騰訊云RayData Plus是一款專注于高視效的3D數據可視化的實時渲染工具。 功能全面&#xff1a;提供了三維、二維、動畫、數據、交互邏輯等各類能力&#xff1b; 零代碼制作&#xff1a;靈活的節點式創作&#xff0c;即便沒…

深度解析基于貝葉斯的垃圾郵件分類

貝葉斯垃圾郵件分類的核心邏輯是基于貝葉斯定理&#xff0c;利用郵件中的特征&#xff08;通常是單詞&#xff09;來計算該郵件屬于“垃圾郵件”或“非垃圾郵件”的概率&#xff0c;并根據概率大小進行分類。它是一種樸素貝葉斯分類器&#xff0c;因其假設特征&#xff08;單詞…

WPF 3D 開發全攻略:實現3D模型創建、旋轉、平移、縮放

&#x1f3ae; WPF 3D 入門實戰&#xff1a;從零打造一個可交互的立方體模型 標題&#xff1a; &#x1f680;《WPF 3D 開發全攻略&#xff1a;實現旋轉、平移、縮放與法線顯示》 &#x1f4a1; 引言 在現代圖形應用中&#xff0c;3D 可視化已經成為不可或缺的一部分。WPF 提供…

Ruby 安裝使用教程

一、Ruby 簡介 Ruby 是一種簡單快捷的面向對象腳本語言&#xff0c;以優雅、簡潔、易讀著稱。它常被用于 Web 開發&#xff08;如 Ruby on Rails 框架&#xff09;、自動化腳本、DevOps、命令行工具等領域。 二、Ruby 安裝教程 2.1 支持平臺 Ruby 支持跨平臺運行&#xff0c…

python | numpy小記(五):理解 NumPy 中的 `np.arccos`:反余弦函數

python | numpy小記&#xff08;五&#xff09;&#xff1a;理解 NumPy 中的 np.arccos&#xff1a;反余弦函數 一、函數簽名與核心參數二、數學定義與取值范圍三、基礎使用示例四、與 Python 內建 math.acos 的對比五、常見問題與注意事項六、典型應用場景1. 三維向量夾角計算…

華為云Flexus+DeepSeek征文 | 華為云ModelArts與Reor的完美結合:創建高效本地AI筆記環境

華為云FlexusDeepSeek征文 | 華為云ModelArts與Reor的完美結合&#xff1a;創建高效本地AI筆記環境 引言一、ModelArts Studio平臺介紹華為云ModelArts Studio簡介ModelArts Studio主要特點 二、Reor介紹Reor簡介Reor主要特點 三、安裝Reor工具下載Reor軟件安裝Reor工具 四、開…

【啟發式算法】Dynamic A*(D*)算法詳細介紹(Python)

&#x1f4e2;本篇文章是博主人工智能&#xff08;AI&#xff09;領域學習時&#xff0c;用于個人學習、研究或者欣賞使用&#xff0c;并基于博主對相關等領域的一些理解而記錄的學習摘錄和筆記&#xff0c;若有不當和侵權之處&#xff0c;指出后將會立即改正&#xff0c;還望諒…

報告怎么寫

替代方案&#xff08;按場景選擇&#xff09; 崗前準備階段 ? "熟悉業務流程/系統操作" ? "掌握XX工具/平臺的核心功能" ? "完成上崗前技術對接" 知識轉化場景 ? "梳理產品知識體系" ? "轉化技術文檔為實操方案" ? &…

大模型——怎么讓 AI 寫出好看有設計感的網頁

大模型——怎么讓 AI 寫出好看有設計感的網頁 你讓 AI 給你寫的網頁大概都是這樣的: 或者這樣: 好點的時候能這樣: 但都不夠高級,尤其是那個像引用一樣的邊框,太 AI 了。 今天教大家一個小技巧,寫出下面這樣的網頁: 或者這樣的

【Torch】nn.Linear算法詳解

1. 定義 nn.Linear 是 PyTorch 中最基礎的全連接&#xff08;fully‐connected&#xff09;線性層&#xff0c;也稱仿射變換層&#xff08;affine layer&#xff09;。它對輸入張量做一次線性變換&#xff1a; output x W T b \text{output} x W^{T} b outputxWTb 其中&a…

ZGC收集器

ZGC收集器 歡迎來到我的博客&#xff1a;TWind的博客 我的CSDN:&#xff1a;Thanwind-CSDN博客 我的掘金&#xff1a;Thanwinde 的個人主頁 0.前言 ZGC收集器完全可以說是Java收集器的一個跨時代的收集器&#xff0c;他真正意義上實現了停頓時間在10ms以內并且幾乎全時段都是…

隧道技術篇2frp代理nps代理shisel代理

FRP代理 1.實現湖北內網控制北京的內網C2上線 2.實現湖北內網探針北京內網 信息收集 &#xff08;socks建立和端口映射&#xff09; 1.連接47.98.210.85 7000端口服務端 2.嘗試將服務端的6666轉到127.0.0.1 5555采用tcp協議&#xff0c;備注名proxies serverAddr"47.98…