Struts2框架實戰之J2EE網購整合(Struts2+Hibernate)
5、Struts2框架實戰之J2EE網購整合
說明:此次Struts2實戰是在Hibernate的實戰的基礎上引入Struts2,最終實現Struts2+Hibernate5的框架。
上接Struts2攔截器&UI標籤:https://blog.csdn.net/biggerchong/article/details/84633068
目錄
5.1 引入Struts2框架環境
首先在github上下載Hibernate整合後的原始碼,用MyEclipse啟動後,之後引入Struts2的jar包和struts.xml的配置檔案,最後在web.xml中新增struts2的核心過濾支援,這樣Struts2環境就引入進來了。
5.2 取代servlet模組
我們知道,Struts2是一種web層的MVC框架,使用Struts2就可以取代傳統J2EE開發中servlet模組,利用Struts2的Action類將原始碼中的servlet的模組完全取代。
5.2.1 重構登入模組
在登入模組中,
(1)首先更改登入模組的的myLogin.jsp與myRegister.jsp頁面表單action屬性;
(2)然後在struts.xml中配置package與package下的對應表單請求的action;
(3)建立UserAction類,利用介面依次實現 UserService
(4)在UserDaoImpl中來利用Hibernate來實現與資料庫互動的具體功能。
下面列出部分細節:
struts.xml檔案:
UserAction類:
個人中心資訊顯示:
5.2.2 重構商品模組
顯然商品模組與前面的登入模組是差不多的,關鍵點是hibernate的處理,這裡主要來說商品查詢後如何在顯示頁面顯示的問題,在這裡我才用struts2的標籤iterator屬性來實現,如下圖:
5.2.3 重構購物車模組
購物車模組中應該使用多個ShoppingCarAction的方法,這裡為了減少程式碼量只用了一個方法,購物車和個人資訊中心都應該設定許可權管理,這部分將在後面設定訪問許可權(Struts2的攔截器來實現),這一板塊這裡還是主要關心頁面顯示,如下圖:
5.3 許可權管理(攔截器實現)
登入許可權管理:當用戶未登入時,無法訪問個人中心並要求使用者登入;無法訪問購物車(可以瀏覽商品)並要求使用者登入。
首先編寫攔截器,對登入時傳入session中的userInfo進行查詢,如果userInfo存在(不為null)不做處理;如果userInfo不存在(為null)進行攔截並且跳轉頁面至登入介面。
攔截器privilageInterceptor如下:
struts.xml中配置攔截器進行攔截:
定義攔截器
在指定位置攔截
5.4 總結
在整個整合過程中需要保持思路清晰,struts2框架就是一套流程,慢慢熟練起來將大大提升開發效率,對於框架的使用還是比較簡單的,但是框架的原理?
尤其是對於SSH這種經典框架我們更應該知其然並知其所以然,當你足夠理解SSH這套經典框架的原理後,對於Java開發中那上百種框架也能得心應手,在框架的學習中我們學會使用框架是框架的入門,理解框架開發的深層原理才是重中之重的精髓。當然目前博主還只是入門階段,之後還需要看適當的書籍進一步加深理解,等我的功力練成那麼隨之而來將是深入理解SSH框架原理系列的大波福利,歡迎大家關注本人的CSDN部落格。
最後當然是原始碼了呀!已上傳至github:
---Thanks ----知飛翀