天天看點

大二下國小期實訓——SSM架構

成果展示

實訓總結:

在經曆了為期兩周的實訓後,我學會許多關于SSM(Spring+springMvc+mybatis)架構的理論知識,經過梳理和總結有以下幾個知識點:

1.什麼是SpringMVC

(1)前段控制器 DispatcherServlet

(2)處理器映射器 HandlerMapping

(3)處理器擴充卡 HandlerAdapter

(4)處理器 Handler

(5)視圖解析器 ViewResolver

(6)視圖 View

*注解開發與非注解開發的差別

2.SpringMVC的工作原理

(1)發送請求到前端控制器

(2)處理器映射器去查找處理器,可以根據xml配置,或者注解進行查找

(3)處理器映射器向前端控制器傳回處理器

(4)前端控制器去調用處理器擴充卡,通過url去尋找相應的處理器

(5)處理器擴充卡去執行處理器

(6)處理器執行完成擴充卡并傳回ModelAndView

(7)處理器擴充卡向前端控制器傳回ModelAndView

(8)前端控制器請求視圖解析器去視圖解析,根據邏輯視圖解析成真正的視圖(jsp)

(9)視圖解析器向前端控制器傳回一個View

(10)前端控制器進行視圖渲染

(11)前端控制器向使用者傳回結果

*ModelAndView是SpringMvc架構的一個底層對象,包括兩個子類Model和View類

掌握了理論知識後,老師先教會了我們使用apache-tomcat并進行環境的配置、項目的配置,完成這些預備工作後,老師帶領我們開始編寫程式。起初,老師隻是帶着我們複習sql語句,讓我們回想起了資料庫的“增删改查”和分頁顯示,慢慢地,老師讓我們把這些語句搬進xml中,并使用異常處理的test方法讓我們初見“成果”,這種循序漸進的教學方式讓我們影響深刻。接着,老師又手把手地帶我們編寫java程式,向我們講解了怎麼根據資料表中的關鍵字建立類、如何調用、在什麼時候調用什麼接口。每當我回想着老師上課講的内容,完成老師布置的作業,我對代碼的了解便會愈發深刻。

當老師告訴我們有兩個項目可供選擇,人事管理系統和當當網圖書系統——一個功能多但容易實作,一個功能少但較難實作。我毫不猶豫地帶領我的組員選擇了功能較難實作的圖書系統項目。我們進行簡單的分工後,便開始推進項目的進度。

我搭建完SSM架構後,興緻勃勃地着手于第一個功能的實作。使用者注冊功能,本質上說隻是增删改查中的“增加”功能。随後便理所當然的是使用者登入功能,這一功能實際也隻是“查詢”功能,根據使用者輸入的内容,在資料表中查詢是否有對應的資料,如果存在則登陸成功,不存在則登入失敗。但當我寫完select語句便發現了問題,要怎麼表示查詢的成功與否呢?我轉念一想,分頁顯示功能中運用了select count(*)來統計資料表中資料的條數,我立馬定義了一個int型變量使它的值等于select count(*)的結果,并編寫了函數,實作了根據使用者輸入的email和password查詢符合條件的資料有幾條,如果大于0條則登入成功,否則提示登入失敗。解決了這一問題後,我越來越有動力,接連實作了圖書查詢——“模糊查詢”以及商品圖書展示——“分頁顯示”的功能。

最後,剩下的便是老師口中較難實作的功能,購物車功能和暫存架功能,我需要實作的是:在商品圖書展示界面中的每本書下方都有兩個按鈕,點選“加入購物車”,該書的的資訊就會被添加到購物車中,進入購物車界面可以對每條購物車中的資訊進行删除操作;而點選另一個按鈕“加入暫存架”,則該書的資訊會被添加到暫存架中,進入暫存架界面,可以對其中資訊進行購買和删除操作,再次點選購買,能夠将該條圖書的資訊添加到購物車中。這兩個“互相糾纏”的資料表對我造成了不小的困擾,後來,在請教了老師後,我在兩張表中都增加了狀态關鍵字,當狀态等于0時不顯示,當狀态等于1時顯示,并且使用update來實作圖書資訊的增加與删除。簡而言之,就是預先把所有的圖書資訊導入購物車和暫存架的資料表中,點選按鈕後觸發update方法修改狀态的值,再将狀态的值作為條件進行顯示。

當我完成了圖書系統的各種功能後,我發現自己對代碼的了解更加深刻、代碼的編寫更加熟練,更重要的是編寫過程中遇到各種404、500的錯誤,讓我從一個看着錯誤一臉茫然的“菜鳥”,變成了能夠根據報錯資訊準确修改代碼的、能夠幫助“菜鳥”同學修改代碼的、同學眼中的“大佬”。

這次實訓,讓我真實地看到了自己的成長。

繼續閱讀