1. 程式人生 > >java web 實踐專案(搭建web留言系統)

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,可以給我留言