天天看點

關于交友網站的開發分享(漂流瓶功能)

前言

一件事情在開頭總是想的很美好,然而事實總會跟你對着幹。在網站搭建的過程中遇到了無數多的前端頁面設計bug,我在此之前也可以算的上是個前端小小白,很是無奈,不過還是要在這裡感謝其他工作室裡幫我解決了許多bug的波波、田小宇和楊小卿,沒有你們估計我的網站還得推遲半年才能上線吧,O(∩_∩)O哈哈~

不過現在網站還隻是個雛形 ,還有繼續開發中。。。。

文章概述

關于項目,對于學習Springboot是個挺不錯的練手項目,可以讓你在煩惱的業務邏輯中保持一顆純潔的心

如何從零開始,使用Springboot開發項目

開發前的一些準備工作,以及思考項目整體結構與思路

記錄開發過程中遇到的一些難題以及bug

總結目前工作室網站的一些優缺點

思考整個項目有哪些可以優化的地方,以及有哪些可增加的功能

項目需求

項目背景

對于Springboot的朋友來說,最好的一個學習方式就是那一個功能俱全的項目來練練手,通過自己重構項目來發現其中的潛在難題,并且也能很好的在編碼過程中總結和發現問題、解決問題。使用Springboot開發的網站,簡單并且實用,适合做練手項目。

功能需求

首頁效果圖

關于交友網站的開發分享(漂流瓶功能)
關于交友網站的開發分享(漂流瓶功能)

漂流瓶功能

關于交友網站的開發分享(漂流瓶功能)
關于交友網站的開發分享(漂流瓶功能)

背景效果

關于交友網站的開發分享(漂流瓶功能)
關于交友網站的開發分享(漂流瓶功能)

安裝部署需求

使用springboot自帶方式打包

非功能需求

性能需求

首頁響應時間不超過2秒鐘

前端頁響應時間不超過3秒鐘

項目設計

總體設計

本項目用到的技術和架構

1.項目建構:Maven

2.web架構:Springboot

3.資料庫ORM:Mybatis

4.資料庫連接配接池: HikariCP

5.分頁插件:PageHelper

6.資料庫:MySql

7.緩存:Redis

本項目中的關鍵點

1.采用Springboot開發,資料庫使用連接配接池加orm架構的模式;

2.整體系統采用門戶網站+背景管理方式搭建,門戶網站資訊内容以及消息交流和漂流瓶,背景管理用于價格定制、網站内容編輯,檢視回報,管理評論留言消息等。

3.使用阿裡雲OSS進行靜态資源存儲,以及CDN全站加速。

環境

工具 名稱

開發工具 IDEA

語言 JDK1.8 、html、css、js

項目架構 SSM

ORM Mybatis

緩存 Redis

項目建構 Maven

運作環境 阿裡雲Centos7

對于熟悉Spring開發的朋友來說,相信對此結構也不會陌生。平時的開發過程中,結構設計是重要的環節,特别是協作開發的時候,明細的分包,子產品化,可減少代碼送出時的沖突。并且明确的結構有助于我們快速的尋找所對應的類。

打包、部署和運作

本項目采用Springboot的maven插件進行打包,打包結果:.jar

部署方式:使用 nohup java -jar ****.jar >.log 2>&1 &的方式,背景啟動項目,并在該路徑下生成運作日志。

大部分人喜歡打為war包,利用tomcat啟動。兩種方式都可以。

總結

開發中遇到的難點

要實作在一個頁面進行權限驗證,如果驗證不成功會跳轉到登入界面,并且登入成功後還要傳回到之前界面,這裡由于對SpringSecurity内部原理的不了解,是以我這裡采用的方法是利用請求頭和響應頭存儲url,并在登入成功後的頁面出跳轉到響應頭中存儲的url處

傳頭像處使用上傳頭像至阿裡雲的OSS對象存儲中,由于上傳問題并沒有傳回上傳成功後的圖檔url位址,于是隻好設定OSS的Bucket為公共讀權限,然後當上傳成功後手動拼接圖檔url并存入資料庫

項目中最大的難點還是莫過于頁面css的設計,但是使用了妹子UI後極大的解決了這個問題,隻需修改少量css就能實作自己所需要的樣式

項目整體優化

目前項目首頁以及文章頁響應時間過長,後期最好優化到1s響應時間

定時定期進行資料庫的備份,防止出現網站被攻擊後資料丢失的風險

手機端浏覽文章頁面會出現代碼自動換行問題,不便于浏覽過程

以上就是我在部落格網站搭建過程後的所有總結記錄,可能會有遺缺部分,等以後想起來了再來修改吧。

其他福利

微信掃下方二維碼關注公衆号,經常分享一些技術上的了解文章。歡迎騷擾,還可以回複想要的管理系統或者畢業設計,分享各種系統源碼(僅限Java語言哦,如需定制系統加qq:226186862)

關于交友網站的開發分享(漂流瓶功能)