Java Web——基於Servlet、JSP(無框架版)電影網站項目總結 (二,完結版)

今天來談談項目的“基石”——數據庫,在這個項目中,我設計了7張表,如下圖所示:

allmovies:存放所有電影的相關信息

clicknumber:記錄每一部電影的被點擊次數,

collection:電影收藏表,記錄用戶收藏的電影

comments:電影評論表,記錄電影的評論

history:瀏覽記錄表,記錄用戶的瀏覽電影記錄

score:評分表,記錄用戶對電影的評分(不過該表暫未用到)

users:用戶信息表

電影表中呢,自然存放的是電影的相關字段,比如電影名啊、電影時長、電影海報圖片啊等待字段,clicknumber表和collection表以及history表都是後期做電影推薦系統的一個"key",可以根據這些數據來我們的推薦更加的精準。

不得不說的是,數據庫的設計真的是需要根據挺費腦的,在做需求分析的時候,雖然知道有“自頂向上的需求分析法”和“自底向上的需求分析法”,但是呢,還是做不到一下子就設計的比較完善,還是在做項目的途中修修改改,連帶着代碼也跟着變動。真的很耗費時間,希望下一個項目可以現把數據庫設計好。

在項目中,自從使用了Ajax來處理消息的傳遞和接收以後,就非常想把之前的JSP頁面改會HTML頁面,全部使用Ajax來接收數據,但是悲催的發現,以現在的功力我還做不到,還是不能避免的要使用JSP頁面,不過JSP的確挺方便的,真香!!!

在電影的分類頁面,即下面這張圖片所示頁面:

使用了大量的Ajax,並且都是與後端的一個servlet進行通信,根據分類,評分,國家,年份來更改顯示符合條件的電影。還有下方的分頁,也是通過Ajax去實現,沒有使用網上Java的分頁插件,自己根據需求寫了一個可以使用,但是很low的分頁。

寫到這裏突然覺得沒啥可總結的,項目寫的並不是很好,自己覺得有一點特點的就是,加了個單點登錄,即同一時間用戶只能在一個瀏覽器登錄,不能同時在兩個瀏覽器登錄。簡單說一下這個單點登錄實現的思路吧,首先用一個Map保存用戶id和seesionId,記錄這兩者之間的關係,當一個用戶登錄時,判斷這個用戶是不是已經在map集合中,如果在,那麼就把已經登錄用戶對應的Session給失效,並且提示用戶,賬戶在別處登錄,自己被踢下線;如果沒有在map集合中,那麼就很簡單了,直接把這個用戶和對應的Session存入到map集合中就可以了。

好了,不說了,大家看着玩吧,覺得項目還行的,就在碼雲上給個Star吧。

發佈了34 篇原創文章 · 獲贊 31 · 訪問量 5036
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章