java web 實踐專案(搭建web留言系統)
宣告:這是實踐java的第二個專案,它主要包括以下知識:
前端:html css javascript
服務端: tomcat伺服器,servlet ,jsp
後端:java
資料庫:mysql
這個專案是思路來自於本校的一位學長:https://blog.csdn.net/qq_33171970/article/details/51357037 。除了最後的留言歷史介面採用了他的設計樣式(寫了一個星期,最後一個留言歷史介面不想寫了,就抄了他的)。其他模組都是原創。
做這個專案的原因主要有兩點:1. 實踐java,想培養一些模組化程式設計的經驗
2. 之前選擇進入計算機就是因為看見一個學長做了一個很漂亮的網站,自已也想做,耽擱了很久,這學期剛好學習java,之前也學過一些前端的知識,ACM也退役了,沒啥事情做,算是完成了一個心願吧(雖然這個網站簡單的一批)。
開發工具
寫java 我用了 eclipse。
寫前端頁面用了 pycharm
資料庫:mysql
本地伺服器: mysql
遠端伺服器: 騰訊雲(專案還沒打包到騰訊雲,因為專案太小)
主要功能
1. 登入(包含了驗證碼的驗證)
2. 註冊(輸入手機號碼進行註冊,每個號碼只能用一次)
3. 留言 (登入成功以後,可以進行留言)
4. 檢視留言歷史 (檢視自己的留言歷史)
程式碼實現和構建思路
1. 資料庫的構建
主要包含兩個表:一個是使用者賬號資訊表:使用者儲存使用者資訊,登入驗證
一個是留言資訊表,利用使用者id為外來鍵,將使用者的每一條留言都儲存在資料庫中。
兩個表的er圖如上圖所示,具體實現和資料庫設計書,我已經上傳到github裡面,這裡不再敘述資料庫的建立過程。
2. JDBC連線資料庫
構建好資料庫以後,我們需要在java中連線上資料庫,具體如何連線,請參考之前寫的這篇:java連線mysql
還有一點需要宣告的,為了在引入tomcat以後,使用資料庫不出錯誤,在連線的時候,注意看一下這篇:https://blog.csdn.net/qq_40774175/article/details/84844208
3. tomcat的安裝
這個之前也寫過:https://blog.csdn.net/qq_40774175/article/details/84673573
寫的比較水,建議多百度幾篇部落格。
4. 構建底層實體類
底層實體類是指程式碼中 modle這個package裡面的兩個類,Message 和User,他們是實現資料庫和伺服器交流的橋樑,我們可以通過操作這兩個類,從前端中讀取資料存入資料庫,也可以從資料庫中讀出資料,傳到前端中。
說白了,就是構建兩個物件,一個是使用者物件,一個是留言物件。
5. 構建資料庫操作類
利用前面構建的實體類和連線的資料庫,我們先寫出與資料庫相關的增加,刪除,查詢操作。具體就是構建兩個類,LoginDb和MessageDb 。
6. 構建服務端類
服務端主要是利用servlet 來實現。在登入介面時,當用戶提交了資訊以後,我們可以利用servlet來接收到這些資訊,從而做出判斷,最後再通過servlet反饋給前端。
這裡面涉及到的知識非常多,我是從網易課堂 :https://study.163.com/course/courseMain.htm?courseId=1005809017
裡面直接學習的,建議看 3,4,5,6,7,13這幾節課,看完對servlet就有一定了解了。
至於實現的話:分成LoginService ,RegisterService,DrawImage,MessageService 。
就是對不同的模組,都需要構建不同的servlet來實現。
DrawImage是用於生成驗證碼的,生成驗證碼的演算法是借鑑了某位大佬的,忘記是誰了。
7. 寫各個頁面
剩下就是利用jsp來實現各個頁面了。
8. 可擴充套件
目前寫的還是很簡陋,有很多功能還沒加上去。
未來如果寫的話,還會加入以下功能:
1. 使用者頭像
2. 管理員介面(可以刪除不正當的留言)
3. 留言歷史的分類(根據內容,用自然語言處理對留言進行歸類,這條這個學期應該要做,比較有門課要求.....)
4.點贊功能(這個很簡單,在留言後面加一個點贊符號,資料庫加點東西就行)
5. 增加vip使用者功能,可以更改自己的暱稱,密碼等個人資訊
......
好吧,吹牛我最擅長了..........
程式碼都在github裡面:github地址
有新的idea或者發現bug,可以給我留言