一、緒言
今天又來更新博文了,學習Java也已經有一段時間了,經過這段時間的學習,我對Java有了更深一層的理解,從剛開始的HelloWorld到了現在的小型網頁專案,這中間也經歷了很多,話不多說,下面開始我的專案闡述,由于是第一次做,必然存在很多瑕疵,希望大家多多指正,,,,,
二、專案介紹
關于博客系統這個專案呢,相信很多小伙伴也做過,所謂一個莎士比亞也能創造出一千個哈姆雷特,每個人都有每個人的思路,大佬不就是靠吸取各種精華修煉而成的嗎?所以有趣的靈魂和解法對于程式員來說還是有比要多接觸接觸,進入正題,提到博客系統,我們腦子里首先能想到的無非就是增刪查改這些操作,不過也確實是這樣,所以專案的內容就由此得出,如下:
1.登錄系統
2.新建博客
3.查看文章詳情
4.對文章進行修改
5.新增文章
6.洗掉選中文章
這就是博客系統的大體操作,其實也不難想嘛哈哈哈哈,不過說起來容易,做起來可就難了,大家一起來探討下,我們要實作以上功能,要用什么技術去實作呢,是JavaSpringBoot框架,還是Web開發呢,介于本人目前的水平有限,還是選用了簡單的Web技術,后端開發參考了maven配置依賴包,Servlet處理及回應客戶端的請求,為了預處理用戶的請求,并且可以對HttpServletResponse實作后處理,使用了過濾器Filter,當然它也可回應用戶的請求,對于前端方面呢,無非還是三劍客:css、html、js以及jsp,為了創建快速動態網頁,使用了Ajax技術,通過在后臺與服務器進行少量資料交換,Ajax可以使網頁實作異步更新,由于本人主要學后端開發,前端知識有限,所以對于前端知識也不能和大家詳細述說,給大家推薦一個網站自行學習:https://www.w3cschool.cn/group/frontend.html,看完上面這一段,大家應該都暈了,下面是一些以上各種技術結合的圖繪,幫助大家理解,
圖1.Web應用的Ajax技術
圖2.本地計算機和遠程服務器的作業程序

圖3.客戶端與Tomcat的互動

通過以上三圖,相信大家對整個程序的技術應用有了大概的了解,下面就開始闡述專案的具體程序,
三、專案的完成程序
1.包的構建
在完成這個專案之前,當然需要先下載好需要的maven依賴包,接下來需要構思整個專案前端與后端需要哪些包,也就是我們需要在哪一層實作什么功能,每個包放置哪些類,我的構建如下:
圖4.整個專案的包構建

可以看到我的組件里有一個Exception包,這是自定義例外,用于統一處理發生的各種例外,Test包里的類用于測驗,Util包里放置用于連接資料庫的類,以及JSON的序列化與反序列化類,實作二進制檔案與java物件的互相轉換,通過序列化實作遠程通信,也就是在網路傳輸中傳送物件的位元組序列,Servlet包里放對博客文章進行操作的類,它們都必須繼承HttpServlet類,才能重寫DoPost或者DoGet方法,用于回應客戶端的請求,我的想法則是實作一個基類,讓它繼承HttpServlet類,其他類通過繼承它,在它的基礎上進行操作,就不用每個都繼承HttpServlet類了,在每個類里我用的是DoPost或DoGet方法,還可以使用Service方法,它可以替代兩者,
2.Dao層的實作
Dao層是和資料庫相接的一層,在這一層里,我們完成了資料庫的連接,比如配置URL等,和剛開始建立的資料表進行回應,設定占位符,撰寫SQL陳述句等,目的就是為了獲取屬性對應的資料,實作登錄時查詢資料庫的功能,在這個專案中,我只設定了兩張表,文章表(article)和用戶表(user),所以只有兩個Dao類,實作如下:
圖5.LoginDao的實作

圖6.ArticleDao的實作

3.Servlet層的實作
AbstractBaseServlet類的設計,讓它繼承HttpServlet類,設定請求回應的編碼格式,回應體的資料型別,物件的序列化,定義抽象類process,用于處理請求req、回應resp,這個包里的其他類都繼承它,就不用再重新設定回應格式和資料型別,它的實作如下:
圖7.AbstractBaseServlet的實作
LoginServlet類的實作,這個類用于實作用戶登錄,通過請求獲取用戶名和密碼,再創建Session物件,通過會話功能拿到用戶輸入的用戶名,再呼叫loginDao和資料庫中已有的資料進行校驗,對登錄失敗進行回傳一個業務碼和錯誤陳述句進行提示,它的實作如下:
圖8.LoginServlet的實作
ArticleAddServlet類的實作,這個類用于發表新文章, 請求的資料型別是application/json,需要使用輸入流獲取 ,再進行反序列化操作獲取物件,實作如下:
圖9.ArticleAddServlet的實作
查看文章詳情,洗掉文章,文章串列,修改文章,這幾個操作和新增文章類似,直接展示給大家看吧哈哈哈哈
圖10.ArticledetailServlet的實作

圖11.ArticleDeleteServelet的實作

圖12.ArticleListServlet的實作

圖13.ArticleUpdateServlet的實作

為了豐富文章編輯功能,如圖片上傳等,我使用了富文本編輯器UEditor,引入了它的依賴,它的Servlet類實作如下:
圖14.UEditorServlet的實作

自定義例外處理如下:
圖15.Exception的實作

四、專案總結
(1)用了過濾器抓取請求與回應會話,富文本編輯器實作了圖片上傳功能,
(2)對Servlet和Tomcat的作業流程有了一定的了解,
(3)對前端語言html、js、jsp的代碼撰寫有一定認識,知道前端的功能實作,
(4)專案的打包和部署,遇到的各種問題也會自己用Fildder抓包解決,
那么以上呢,就是整個博客系統專案的實作程序,有不懂的小伙伴cue我喲,隨時歡迎(此處自帶一個笑臉)!!!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/241353.html
標籤:其他
上一篇:JavaScript內置物件
