<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                # 【第十一章】 SSH集成開發積分商城 之 11.1 概述 ——跟我學spring3 ## 11.1? 概述 ### 11.1.1? 功能概述 本節將通過介紹一個積分商城系統來演示如何使用SSH集成進行開發。 積分商城一般是購物網站的子模塊,提供一些禮品或商品用于獎勵老用戶或使用積分來折換成現金,如圖11-1所示。 ![](https://box.kancloud.cn/2016-05-13_573547228153c.JPG) 圖11-1 購物網站與積分商城 積分商城功能點: * **后臺管理** **交易管理模塊:**用于查看積分交易歷史; **商品管理模塊:**用于CRUD積分兌換商品; **日報或月報:**用于發送給運營人員每日積分兌換情況,一般通過email發送; …… * **前臺展示** **商品展示:**展示給用戶可以使用積分兌換的商品; **支付模塊:**用戶成功兌換商品后扣除用戶相應積分 **添加積分模塊:**提供接口用于其他產品贈送積分使用,如每天在線10小時贈送50積分,購買相應商品增加相應積分; **訂單管理模塊:**訂單管理模塊可以使用現有購物平臺的訂單管理。 購物平臺、用戶系統及積分商城交互如圖11-2所示,其中用戶系統負責用戶登錄,購物平臺是購物網站核心,積分商城用于用戶使用積分購買商品。 ![](https://box.kancloud.cn/2016-05-13_5735472296515.JPG) 圖11-2 購物平臺、用戶系統及積分商城交互 由于積分商城也是很復雜,由于篇幅原因不打算完全介紹,只介紹其中一個模塊——商品(兌換碼)管理及購買,該模塊主要提供給用戶使用積分兌換一些優惠券或虛擬物品(如移動充值卡)等等。 ### 11.1.2技術選型 由于本節是關于SSH集成的,因此選用技術如下: * 平臺:Java EE; * 運行環境:Windows XP,JDK1.6; * 編輯器:Eclipse3.6 + SpringSource Tool Suite; * Web容器:tomcat6.0.20; * 數據庫:mysql5.4.3; * 框架:Struts2.0.14、Spring3.0.5、Hibernate3.6.0.Final; * 日志記錄:log4j1.2.15; * 數據庫連接池:proxool0.9.1; * 視圖技術:JSP 2.0。 技術選定了,應該考慮平臺架構了,這關系到項目的成功與否。 ### 11.1.3系統架構 積分商城系統架構也將采用經典的三層架構,如圖11-3所示: ![](https://box.kancloud.cn/2016-05-13_57354722aad76.JPG) 圖11-3 三層架構 分層的目的是約束層次邊界,每層的職責和目標應明確和單一,每層專注自己的事情,不要跨越分層邊界,具體每層功能如下: * 數據訪問層:封裝底層數據庫或文件系統訪問細節,從而對業務邏輯層提供一致的接口,使業務邏輯層不關心底層細節; * 業務邏輯層:專注于業務邏輯實現,不關心底層如何訪問,并在該層實現如聲明式事務管理,組裝分頁對象; * 表現層:應該非常輕量級及非常“薄(功能非常少,幾乎全是委托)”,攔截用戶請求并響應,表現層數據驗證,負責根據請求委托給業務邏輯層進行業務處理,本層不實現任何業務邏輯,且提供用戶交互界面; * 數據模型層:數據模型定義,提供給各層使用,不應該算作三層架構中的某一層,因為數據模型可使用其他對象(如Map)代替之。 系統架構已選定,在此我們進行優化一下,因為在進行基于SSH的三層架構進行開發時通常會有一些通用功能、如通用DAO、通用Service、通用Action、通用翻頁等等,因此我們再進行開發時都是基于通用功能進行的,能節省不少開發時間,從而可以使用這些節約的時間干自己想干的事情,如圖10-4所示。 ![](https://box.kancloud.cn/2016-05-13_57354722bf0cb.JPG) 圖10-4 基于通用層的三層架構 ### 11.1.4項目搭建 **?????? 1、創建動態web工程:** 通過【File】&gt;【New】&gt;【other】&gt;【Web】&gt;【Dynamic Web Project】創建一個Web工程,如圖11-5所示; ![](https://box.kancloud.cn/2016-05-13_57354722dbe00.JPG) 圖11-5 Web工程配置 **1、?項目結構,如圖11-6所示:** ![](https://box.kancloud.cn/2016-05-13_5735472308285.JPG) 圖11-6 項目結構 **3、項目屬性修改:** **3.1、字符編碼修改,如圖11-7所示,在實際項目中一定要統一字符編碼:** ![](https://box.kancloud.cn/2016-05-13_573547232c5ad.JPG) 圖11-7 修改項目字符編碼 **?????? 3.2、類路徑輸出修改,如圖11-8,將類路徑輸出改為/WEB-INF/classes下:** ![](https://box.kancloud.cn/2016-05-13_5735472341b76.JPG) 圖11-8 類路徑修改 **?????? 4、準備jar包:** **?????? 4.1、Spring項目依賴包,到下載的spring-framework-3.0.5.RELEASE-with-docs.zip中拷貝如下jar包:** + dist\org.springframework.aop-3.0.5.RELEASE.jar + dist\org.springframework.asm-3.0.5.RELEASE.jar + dist\org.springframework.beans-3.0.5.RELEASE.jar + dist\org.springframework.context-3.0.5.RELEASE.jar + dist\org.springframework.core-3.0.5.RELEASE.jar + dist\org.springframework.expression-3.0.5.RELEASE.jar + dist\org.springframework.jdbc-3.0.5.RELEASE.jar + dist\org.springframework.orm-3.0.5.RELEASE.jar + dist\org.springframework.transaction-3.0.5.RELEASE.jar + dist\org.springframework.web-3.0.5.RELEASE.jar **?????? 4.2、Spring及其他項目依賴包,到spring-framework-3.0.5.RELEASE-dependencies.zip中拷貝如下jar吧:** + com.springsource.net.sf.cglib-2.2.0.jar + com.springsource.org.aopalliance-1.0.0.jar + com.springsource.org.apache.commons.beanutils-1.8.0.jar + com.springsource.org.apache.commons.collections-3.2.1.jar + com.springsource.org.apache.commons.digester-1.8.1.jar + com.springsource.org.apache.commons.logging-1.1.1.jar + com.springsource.org.apache.log4j-1.2.15.jar + com.springsource.org.apache.taglibs.standard-1.1.2.jar + com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar 4.3、Hibernate依賴包,到hibernate-distribution-3.6.0.Final.zip中拷貝如下jar包: + hibernate3.jar + lib\jpa\hibernate-jpa-2.0-api-1.0.0.Final.jar + lib\required\dom4j-1.6.1.jar + lib\required\javassist-3.12.0.GA.jar + lib\required\jta-1.1.jar + lib\ required \slf4j-api-1.6.1.jar + lib\required\antlr-2.7.6.jar 4.4、數據庫連接池依賴包,到proxool-0.9.1.zip中拷貝如下jar包: + lib\proxool-0.9.1.jar + lib\proxool-cglib.jar 4.5、準備mysql JDBC連接依賴包: + mysql-connector-java-5.1.10.jar 4.6、slf4j依賴包準備,到下載的slf4j-1.6.1.zip包中拷貝如下jar包: + slf4j-log4j12-1.6.1.jar 4.7、Strut2依賴包,到struts-2.2.1.1.zip中拷貝如下jar包: + lib\struts2-core-2.2.1.1.jar ???????? + lib\xwork-core-2.2.1.1.jar?????? + lib\freemarker-2.3.16.jar???????????? + lib\ognl-3.0.jar??????????? + lib\struts2-spring-plugin-2.2.1.1.jar + lib\commons-fileupload-1.2.1.jar? jar包終于準備完了,是不是很頭疼啊,在此推薦使用maven進行依賴管理,無需拷貝這么多jar包,而是通過配置方式來指定使用的依賴,具體maven知識請到官方網站http://maven.apache.org/了解。 原創內容,轉載請注明出處【[http://sishuok.com/forum/blogPost/list/2514.html](http://sishuok.com/forum/blogPost/list/2514.html#7239)】
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看