日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > vue >内容正文

vue

基于Java+SpringMvc+vue+element实现上海汽车博物馆平台

發布時間:2025/3/12 vue 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Java+SpringMvc+vue+element实现上海汽车博物馆平台 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

🍅 作者簡介:CSDN特邀作者?、博客專家?、java領域優質創作者💪

🍅關注公眾號【java李楊勇】? 簡歷模板、學習資料、面試題庫等都給你💪

🍅末獲取源碼聯系🍅

🍅新星計劃·第三季【Java】賽道的報名入口!下一個新星就是你🍅

摘要介紹:

? ? ? ? ? 隨著社會的發展,社會的各行各業都在利用信息化時代的優勢。計算機的優勢和普及使得各種信息系統的開發成為必需。博物館交流平臺,主要的模塊包括查看個人中心、用戶管理、博物館信息管理、文物信息管理、文物分類管理、留言板管理、系統管理等功能。系統中管理員主要是為了安全有效地存儲和管理各類信息,還可以對系統進行管理與更新維護等操作,并且對后臺有相應的操作權限。要想實現博物館交流平臺的各項功能,需要后臺數據庫的大力支持。管理員驗證注冊信息,收集的用戶信息,并由此分析得出的關聯信息等大量的數據都由數據庫管理。本文中數據庫服務器端采用了Mysql作為后臺數據庫,使Web與數據庫緊密聯系起來。在設計過程中,充分保證了系統代碼的良好可讀性、實用性、易擴展性、通用性、便于后期維護、操作方便以及頁面簡潔等特點。本系統的開發使獲取博物館交流平臺信息能夠更加方便快捷,同時也使博物館交流平臺管理信息變的更加系統化、有序化。系統界面較友好,易于操作。

功能設計:

?管理員功能結構圖,如圖所示:

前臺結構圖,如圖所示

功能截圖:

用戶登陸注冊:

系統首頁:系統首頁可以查看首頁、博物館信息、文物信息、通知公告、留言板反饋、個人中心、后臺管理等內容

汽車信息:汽車信息頁面,用戶可以查看汽車編號、汽車名稱、汽車分類、圖片、汽車簡介、文物詳情等內容,用戶可以進行收藏和評論,如下圖所示

詳情信息:


評論收藏:

?

留言反饋:

個人中心:

我的收藏:?


普通用戶后臺信息:

?管理員后臺管理:管理員登錄進入博物館交流平臺可以查看個人中心、用戶管理、博物館信息管理、文物信息管理、文物分類管理、留言板管理、系統管理等內容,并進行相關操作,如圖5-8所示

汽車信息管理:

?詳情信息:

汽車信息分類:

?留言板:

?首頁輪播圖:

關鍵代碼:

/*** 登錄相關*/ @RequestMapping("users") @RestController public class UserController{@Autowiredprivate UserService userService;@Autowiredprivate TokenService tokenService;/*** 登錄*/@IgnoreAuth@PostMapping(value = "/login")public R login(String username, String password, String captcha, HttpServletRequest request) {UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().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);}/*** 注冊*/@IgnoreAuth@PostMapping(value = "/register")public R register(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 退出*/@GetMapping(value = "logout")public R logout(HttpServletRequest request) {request.getSession().invalidate();return R.ok("退出成功");}/*** 密碼重置*/@IgnoreAuth@RequestMapping(value = "/resetPass")public R resetPass(String username, HttpServletRequest request){UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));if(user==null) {return R.error("賬號不存在");}user.setPassword("123456");userService.update(user,null);return R.ok("密碼已重置為:123456");}/*** 列表*/@RequestMapping("/page")public R page(@RequestParam Map<String, Object> params,UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));return R.ok().put("data", page);}/*** 列表*/@RequestMapping("/list")public R list( UserEntity user){EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();ew.allEq(MPUtil.allEQMapPre( user, "user")); return R.ok().put("data", userService.selectListView(ew));}/*** 信息*/@RequestMapping("/info/{id}")public R info(@PathVariable("id") String id){UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 獲取用戶的session用戶信息*/@RequestMapping("/session")public R getCurrUser(HttpServletRequest request){Long id = (Long)request.getSession().getAttribute("userId");UserEntity user = userService.selectById(id);return R.ok().put("data", user);}/*** 保存*/@PostMapping("/save")public R save(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {return R.error("用戶已存在");}userService.insert(user);return R.ok();}/*** 修改*/@RequestMapping("/update")public R update(@RequestBody UserEntity user){ // ValidatorUtils.validateEntity(user);UserEntity u = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername()));if(u!=null && u.getId()!=user.getId() && u.getUsername().equals(user.getUsername())) {return R.error("用戶名已存在。");}userService.updateById(user);//全部更新return R.ok();}/*** 刪除*/@RequestMapping("/delete")public R delete(@RequestBody Long[] ids){userService.deleteBatchIds(Arrays.asList(ids));return R.ok();} }

?文件上傳:

/*** 上傳文件映射表*/ @RestController @RequestMapping("file") @SuppressWarnings({"unchecked","rawtypes"}) public class FileController{@Autowiredprivate ConfigService configService;/*** 上傳文件*/@RequestMapping("/upload")public R upload(@RequestParam("file") MultipartFile file, String type,HttpServletRequest request) throws Exception {if (file.isEmpty()) {throw new EIException("上傳文件不能為空");}String fileExt = file.getOriginalFilename().substring(file.getOriginalFilename().lastIndexOf(".")+1);String fileName = new Date().getTime()+"."+fileExt;File dest = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);file.transferTo(dest);if(StringUtils.isNotBlank(type) && type.equals("1")) {ConfigEntity configEntity = configService.selectOne(new EntityWrapper<ConfigEntity>().eq("name", "faceFile"));if(configEntity==null) {configEntity = new ConfigEntity();configEntity.setName("faceFile");configEntity.setValue(fileName);} else {configEntity.setValue(fileName);}configService.insertOrUpdate(configEntity);}return R.ok().put("file", fileName);}/*** 下載文件*/@IgnoreAuth@RequestMapping("/download")public void download(@RequestParam String fileName, HttpServletRequest request, HttpServletResponse response) {try {File file = new File(request.getSession().getServletContext().getRealPath("/upload")+"/"+fileName);if (file.exists()) {response.reset();response.setHeader("Content-Disposition", "attachment; filename=\"" + fileName+"\"");response.setHeader("Cache-Control", "no-cache");response.setHeader("Access-Control-Allow-Credentials", "true");response.setContentType("application/octet-stream; charset=UTF-8");IOUtils.write(FileUtils.readFileToByteArray(file), response.getOutputStream());}} catch (IOException e) {e.printStackTrace();}}}

數據庫設計:

將數據庫概念設計的E-R圖轉換為關系數據庫。在關系數據庫中,數據關系由數據表組成,但是表的結構表現在表的字段上。

表4-1wenwufenlei表

列名

數據類型

長度

約束

id

int

11

NOT NULL

addtime

varchar

50

default NULL

wenwufenlei

varchar

50

default NULL

表4-2:wenwuxinxi表

列名

數據類型

長度

約束

id

?int

11

NOT NULL

addtime

varchar

50

default NULL

wenwubianhao

varchar

50

default NULL

wenwumingcheng

varchar

50

default NULL

wenwufenlei

varchar

200

default NULL

wenwujianjie

varchar

200

default NULL

tupian

varchar

200

default NULL

wenwuxiangqing

varchar

200

default NULL

clicktime

varchar

200

default NULL

clicknum

varchar

200

default NULL

表4-3:yonghu表

列名

數據類型

長度

約束

id

?int

11

NOT NULL

addtime

varchar

50

default NULL

zhanghao

varchar

50

default NULL

mima

varchar

50

default NULL

xingming

varchar

200

default NULL

nianling

varchar

200

default NULL

xingbie

varchar

200

default NULL

shouji

varchar

200

default NULL

zhaopian

varchar

200

default NULL

論文目錄:

摘??要

Abstract

1?系統概述

1.1 概述

1.2課題意義

1.3 研究要內容

2 系統開發環境

2.1 JSP技術介紹

2.2 JAVA簡介

2.3訪問數據庫實現方法

2.4系統對MySQL數據庫的兩種連接方式

2.5 MySql數據庫

2.6?SSM框架

3 需求分析

3.1技術可行性:技術背景?????

3.2經濟可行性

3.3操作可行性:?

3.4系統設計規則

3.5系統流程和邏輯

4系統概要設計

4.1?概述

4.2?系統結構

4.3.?數據庫設計

4.3.1 數據庫實體

4.3.2 數據庫設計表

4.4 數據表

第5章 系統詳細設計

5.1系統功能模塊

5.2管理員功能模塊

6 系統測試

6.1系統測試的目的

6.2系統測試方法

6.3 測試結果

結論

致 謝

參考文獻

源碼獲取:

大家點贊、收藏、關注、評論啦 、查看👇🏻👇🏻👇🏻微信公眾號獲取聯系方式👇🏻👇🏻👇🏻

打卡 文章 更新?220/? 365天

?精彩專欄推薦訂閱:下方專欄👇🏻👇🏻👇🏻👇🏻

Java項目精品實戰案例《100套》

web前端期末大作業網頁實戰《100套》

總結

以上是生活随笔為你收集整理的基于Java+SpringMvc+vue+element实现上海汽车博物馆平台的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。