基于Java+SpringMvc+vue+element实现上海汽车博物馆平台
🍅 作者簡介:CSDN特邀作者?、博客專家?、java領域優(yōu)質創(chuàng)作者💪
🍅關注公眾號【java李楊勇】? 簡歷模板、學習資料、面試題庫等都給你💪
🍅文末獲取源碼聯(lián)系🍅
🍅新星計劃·第三季【Java】賽道的報名入口!下一個新星就是你🍅
摘要介紹:
? ? ? ? ? 隨著社會的發(fā)展,社會的各行各業(yè)都在利用信息化時代的優(yōu)勢。計算機的優(yōu)勢和普及使得各種信息系統(tǒng)的開發(fā)成為必需。博物館交流平臺,主要的模塊包括查看個人中心、用戶管理、博物館信息管理、文物信息管理、文物分類管理、留言板管理、系統(tǒng)管理等功能。系統(tǒng)中管理員主要是為了安全有效地存儲和管理各類信息,還可以對系統(tǒng)進行管理與更新維護等操作,并且對后臺有相應的操作權限。要想實現博物館交流平臺的各項功能,需要后臺數據庫的大力支持。管理員驗證注冊信息,收集的用戶信息,并由此分析得出的關聯(lián)信息等大量的數據都由數據庫管理。本文中數據庫服務器端采用了Mysql作為后臺數據庫,使Web與數據庫緊密聯(lián)系起來。在設計過程中,充分保證了系統(tǒng)代碼的良好可讀性、實用性、易擴展性、通用性、便于后期維護、操作方便以及頁面簡潔等特點。本系統(tǒng)的開發(fā)使獲取博物館交流平臺信息能夠更加方便快捷,同時也使博物館交流平臺管理信息變的更加系統(tǒng)化、有序化。系統(tǒng)界面較友好,易于操作。
功能設計:
?管理員功能結構圖,如圖所示:
前臺結構圖,如圖所示
功能截圖:
用戶登陸注冊:
系統(tǒng)首頁:系統(tǒng)首頁可以查看首頁、博物館信息、文物信息、通知公告、留言板反饋、個人中心、后臺管理等內容
汽車信息:汽車信息頁面,用戶可以查看汽車編號、汽車名稱、汽車分類、圖片、汽車簡介、文物詳情等內容,用戶可以進行收藏和評論,如下圖所示
詳情信息:
評論收藏:
?
留言反饋:
個人中心:
我的收藏:?
普通用戶后臺信息:
?管理員后臺管理:管理員登錄進入博物館交流平臺可以查看個人中心、用戶管理、博物館信息管理、文物信息管理、文物分類管理、留言板管理、系統(tǒng)管理等內容,并進行相關操作,如圖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?系統(tǒng)概述
1.1 概述
1.2課題意義
1.3 研究要內容
2 系統(tǒng)開發(fā)環(huán)境
2.1 JSP技術介紹
2.2 JAVA簡介
2.3訪問數據庫實現方法
2.4系統(tǒng)對MySQL數據庫的兩種連接方式
2.5 MySql數據庫
2.6?SSM框架
3 需求分析
3.1技術可行性:技術背景?????
3.2經濟可行性
3.3操作可行性:?
3.4系統(tǒng)設計規(guī)則
3.5系統(tǒng)流程和邏輯
4系統(tǒng)概要設計
4.1?概述
4.2?系統(tǒng)結構
4.3.?數據庫設計
4.3.1 數據庫實體
4.3.2 數據庫設計表
4.4 數據表
第5章 系統(tǒng)詳細設計
5.1系統(tǒng)功能模塊
5.2管理員功能模塊
6 系統(tǒng)測試
6.1系統(tǒng)測試的目的
6.2系統(tǒng)測試方法
6.3 測試結果
結論
致 謝
參考文獻
源碼獲取:
大家點贊、收藏、關注、評論啦 、查看👇🏻👇🏻👇🏻微信公眾號獲取聯(lián)系方式👇🏻👇🏻👇🏻
打卡 文章 更新?220/? 365天
?精彩專欄推薦訂閱:在下方專欄👇🏻👇🏻👇🏻👇🏻
Java項目精品實戰(zhàn)案例《100套》
web前端期末大作業(yè)網頁實戰(zhàn)《100套》
總結
以上是生活随笔為你收集整理的基于Java+SpringMvc+vue+element实现上海汽车博物馆平台的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HTML+CSS+JS实现 ❤️Thre
- 下一篇: Web前端期末大作业-响应式唯美婚庆公司