當前位置:
首頁 > 知識 > SpringMVC詳解——SSM三大框架整合之登錄功能實現

SpringMVC詳解——SSM三大框架整合之登錄功能實現


SpringMVC詳解——SSM三大框架整合之登錄功能實現

1、整合思路

SpringMVC詳解——SSM三大框架整合之登錄功能實現

①、表現層,也就是 Controller,由 SpringMVC 來控制,而SpringMVC 是Spring 的一個模塊,故不需要整合。

②、業務層,也就是 service,通常由 Spring 來管理 service 介面,我們會使用 xml 配置的方式來將 service 介面配置到 spring 配置文件中。而且事務控制一般也是在 service 層進行配置。

③、持久層,也就是 dao 層,而且包括實體類,由 MyBatis 來管理,通過 spring 來管理 mapper 介面,使用mapper的掃描器自動掃描mapper介面在spring中進行註冊。

很明顯,spring 在三大框架的整合中佔據至關重要的地位,類似於一個大管家,將 MyBatis 和 SpringMVC 揉合在一起。


2、準備環境

①、資料庫環境

資料庫類型:MySQL 5.1

資料庫名稱:ssm

數據表:user

SpringMVC詳解——SSM三大框架整合之登錄功能實現

②、開發工具 eclipse

③、JDK 1.7

④、mybatis 3.3

⑤、SpringMVC 4.2.4

⑥、Spring 4.2.4

⑦、資料庫連接池 dbcp1.2.2

⑧、資料庫驅動包mysql5.1.26

⑨、日誌 log4j 1.2

案例需求:輸入用戶名和密碼進行登錄驗證

具體的 jar 下載見上面的源碼下載鏈接!

項目的目錄結構為:

SpringMVC詳解——SSM三大框架整合之登錄功能實現


3、整合 Dao 層

也就是整合 MyBatis 和 Spring

①、在 db.properties 文件中,保存資料庫連接的基本信息

SpringMVC詳解——SSM三大框架整合之登錄功能實現

分別是資料庫連接池數據源,資料庫連接驅動,資料庫連接URL,資料庫連接用戶名,資料庫連接密碼

②、mybatis全局配置文件 mybatis-configuration.xml

SpringMVC詳解——SSM三大框架整合之登錄功能實現

通過 mapper 介面來載入映射文件,必須滿足下面四點:

1、xxxMapper 介面必須要和 xxxMapper.xml 文件同名且在同一個包下,也就是說 UserMapper.xml 文件中的namespace是UserMapper介面的全類名

2、xxxMapper介面中的方法名和 xxxMapper.xml 文件中定義的 id 一致

3、xxxMapper介面輸入參數類型要和 xxxMapper.xml 中定義的 parameterType 一致

4、xxxMapper介面返回數據類型要和 xxxMapper.xml 中定義的 resultType 一致

③、配置 Spring 文件

我們需要配置數據源、SqlSessionFactory以及mapper掃描器,由於這是對 Dao 層的整合,後面還有對於 業務層,表現層等的整合,為了使條目更加清新,我們新建 config/spring 文件夾,這裡將配置文件取名為 spring-dao.xml 放入其中。

spring-dao.xml

SpringMVC詳解——SSM三大框架整合之登錄功能實現

SpringMVC詳解——SSM三大框架整合之登錄功能實現

④、根據逆向工程生成 po 類以及 mapper 文件

如何使用逆向工程,可以參考這篇博客:http://www.cnblogs.com/ysocean/p/7360409.html,我們逆向工程要是一個額外的工程,生成我們所需的po類以及mapper文件後,在將其複製到我們當前項目中,如下:

SpringMVC詳解——SSM三大框架整合之登錄功能實現

由於我們這裡是進行登錄驗證,所以在 UserMapper.java 中添加如下代碼:

SpringMVC詳解——SSM三大框架整合之登錄功能實現

UserMapper.xml

SpringMVC詳解——SSM三大框架整合之登錄功能實現

dao 層整合完畢之後,我們進行一個測試,要養成每做完一個小模塊必須測試的習慣。步步為營,如果整個項目配置完了然後在進行測試,那麼有問題進行排除會變得很困難。

SpringMVC詳解——SSM三大框架整合之登錄功能實現

這裡是根據 user 表的 id 進行查詢。如果能列印出user對象的值,那麼前面的配置是 OK的。


4、整合 service

前面我們整理了,這層就是用 Spring 來管理 service 介面,我們會使用 xml 配置的方式來將 service 介面配置到 spring 配置文件中。而且事務控制也是在 service 層進行配置。

這裡我們以登錄

①、定義 service 介面

SpringMVC詳解——SSM三大框架整合之登錄功能實現

②、編寫 service 實現類

SpringMVC詳解——SSM三大框架整合之登錄功能實現

通過@Autowired向spring容器注入UserMapper,它會通過spring配的掃描器掃描到,並將對象裝載到spring容器中。

③、在spring容器中配置 Service 介面,這裡我們使用 xml 的方式

在 config/spring 目錄下,新建 spring-service.xml

SpringMVC詳解——SSM三大框架整合之登錄功能實現

④、在spring容器中配置 事務處理

在 config/spring 目錄下,新建 spring-transaction.xml

SpringMVC詳解——SSM三大框架整合之登錄功能實現

SpringMVC詳解——SSM三大框架整合之登錄功能實現


5、整合 SpringMVC

①、配置前端控制器

在 web.xml 文件中添加如下代碼:

SpringMVC詳解——SSM三大框架整合之登錄功能實現

②、配置處理器映射器、處理器適配器、視圖解析器

在 config/spring 目錄下新建 springmvc.xml文件

SpringMVC詳解——SSM三大框架整合之登錄功能實現

③、編寫 Handler,也就是 Controller

在 com.ys.controller 包下新建 UserController.java 文件

SpringMVC詳解——SSM三大框架整合之登錄功能實現

、載入 Spring 容器

我們在 classpath/spring 目錄下新建了 spring-dao.xml,spring-service.xml,spring-transaction.xml 這些文件,裡面有我們配置的 mapper,controller,service,那麼如何將這些載入到 spring 容器中呢?

在 web.xml 文件中添加如下代碼:

SpringMVC詳解——SSM三大框架整合之登錄功能實現

由於配置文件比較多,我們使用通配符載入的方式。注意:這段代碼最好要加在前端控制器的前面。

至此 SSM 三大框架整合就完成了,接下來我們進行測試。


6、測試

在 WebContent 目錄下創建 login.jsp 頁面,以及 success.jsp頁面,如下圖:

SpringMVC詳解——SSM三大框架整合之登錄功能實現

login.jsp

SpringMVC詳解——SSM三大框架整合之登錄功能實現

success.jsp

SpringMVC詳解——SSM三大框架整合之登錄功能實現

1、將項目發布到 tomcat,如何發布可以參考這篇博客:http://www.cnblogs.com/ysocean/p/6893446.html

2、在瀏覽器輸入:http://localhost:8080/SSMDemo/login.jsp

SpringMVC詳解——SSM三大框架整合之登錄功能實現

點擊提交:

SpringMVC詳解——SSM三大框架整合之登錄功能實現

文章摘自博客園


更多乾貨推薦:

IT教育專業培訓:http://www.ujiuye.com/

IT職業在線教育:http://xue.ujiuye.com/

互聯網營銷集訓營:http://www.ujiuye.com/zt/java/?wt.bd=lsh11tt

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 IT優就業 的精彩文章:

C 對可空值類型的支持
SpringMVC詳解——基於註解的入門實例
插入排序演算法之直接插入排序和希爾排序
程序員的一天:不是在苦逼,就是在苦逼的路上

TAG:IT優就業 |

您可能感興趣

獨立VRMMO『OrbusVR』登錄Oculus互玩
NextVR登錄Viveport,可用HTC Vive觀看NBA比賽直播
Bethesda結束與Steam合作?《輻射76》PC版將會是B社登錄器獨佔?
太空對戰模擬遊戲End Space VR登錄Oculus Rift和HTC Vive
韓式動作MMORPG《Triple S》開啟事前登錄
C井調用Windows API實現自動登錄
全新 UA Curry 5 「Welcome Home」 現已登錄各大平台,開啟預訂通道!
PS4 Remote Play登錄iOS平台,你可以使用iPhone/iPad遠程玩PS4遊戲了
繞過SQL Server的登錄觸發器限制
PC端第一策略遊戲登錄iPhone / 蘋果開始調查iPhoneXS信號問題
換裝遊戲《Alice Closet》事前登錄開始,PV公開
最終幻想VII確認將會登錄Nintendo Switch
iOS新功能,可使用Face ID或Touch ID登錄iCloud網頁端!
「Overlord-MASS FOR THE DEAD-」延期上線,事前登錄數突破40萬
Beat Saber的Expert+模式登錄PlayStation VR的時間推遲
更加安全的登錄方式 macOS可能會使用Face ID登錄iCloud
號稱VR版馬里奧卡丁車的《Sprint Vector》即將登錄PSVR平台。
《白貓計劃》新企劃登錄NS,GBF×《LoveLive!Sunshine!》聯動決定
Mac使用ssh密鑰登錄Linux
Sonos Beam智能電視音響正式登錄中國