收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 


zhang的笔记
状态: 离线
人气:4925276
访问用户量:4193
笔记经验:
总积分:261656
级别:VIP5
搜索本笔记
ta的交流分类
ta的交流主题贴(544)
ta的所有交流贴(1049)
ta的全部笔记
全部笔记(255)
未分类笔记(1)
Java Web(9)
并发实践(1)
课程问题(0)
Java(22)
架构(1)
缓存(5)
JavaEE(0)
JVM(12)
跟我学spring3(68)
Spring Sec……(43)
Spring 3.x……(25)
Spring Sec……(20)
跟开涛学Spring……(17)
深入剖析Spring……(18)
性能调优(10)
前端(2)
Tomcat源码解读(1)
spring sec……(0)
存档
2014-01(7)
2013-12(10)
2012-10(4)
2012-09(2)
2012-08(31)
2012-07(10)
2012-06(5)
2012-05(41)
2012-04(3)
2012-03(41)
2012-02(54)
2011-11(17)
2011-10(30)

2012-02-22 17:20:07
【第十一章】 SSH集成开发积分商城 之 11.1 概述 ——跟我学spring3
浏览(18590)|评论(0)   交流分类:Java|笔记分类: 跟我学spring3

11.1  概述

11.1.1  功能概述

       本节将通过介绍一个积分商城系统来演示如何使用SSH集成进行开发。

       积分商城一般是购物网站的子模块,提供一些礼品或商品用于奖励老用户或使用积分来折换成现金,如图11-1所示。

 

图11-1 购物网站与积分商城

       积分商城功能点:

  • 后台管理

         交易管理模块:用于查看积分交易历史;

         商品管理模块:用于CRUD积分兑换商品;

         日报或月报:用于发送给运营人员每日积分兑换情况,一般通过email发送;

         ……

  • 前台展示

         商品展示:展示给用户可以使用积分兑换的商品;

         支付模块:用户成功兑换商品后扣除用户相应积分

         添加积分模块:提供接口用于其他产品赠送积分使用,如每天在线10小时赠送50积分,购买相应商品增加相应积分;

         订单管理模块:订单管理模块可以使用现有购物平台的订单管理。

 

购物平台、用户系统及积分商城交互如图11-2所示,其中用户系统负责用户登录,购物平台是购物网站核心,积分商城用于用户使用积分购买商品。

 

图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所示:

 

图11-3 三层架构

       分层的目的是约束层次边界,每层的职责和目标应明确和单一,每层专注自己的事情,不要跨越分层边界,具体每层功能如下:

  • 数据访问层:封装底层数据库或文件系统访问细节,从而对业务逻辑层提供一致的接口,使业务逻辑层不关心底层细节;
  • 业务逻辑层:专注于业务逻辑实现,不关心底层如何访问,并在该层实现如声明式事务管理,组装分页对象;
  • 表现层:应该非常轻量级及非常“薄(功能非常少,几乎全是委托)”,拦截用户请求并响应,表现层数据验证,负责根据请求委托给业务逻辑层进行业务处理,本层不实现任何业务逻辑,且提供用户交互界面;
  • 数据模型层:数据模型定义,提供给各层使用,不应该算作三层架构中的某一层,因为数据模型可使用其他对象(如Map)代替之。

系统架构已选定,在此我们进行优化一下,因为在进行基于SSH的三层架构进行开发时通常会有一些通用功能、如通用DAO、通用Service、通用Action、通用翻页等等,因此我们再进行开发时都是基于通用功能进行的,能节省不少开发时间,从而可以使用这些节约的时间干自己想干的事情,如图10-4所示。

 

 

图10-4 基于通用层的三层架构

11.1.4项目搭建

       1、创建动态web工程:

              通过【File】>【New】>【other】>【Web】>【Dynamic Web Project】创建一个Web工程,如图11-5所示;

 

图11-5 Web工程配置

1、 项目结构,如图11-6所示:

 

图11-6 项目结构

3、项目属性修改:

3.1、字符编码修改,如图11-7所示,在实际项目中一定要统一字符编码:

 

图11-7 修改项目字符编码

       3.2、类路径输出修改,如图11-8,将类路径输出改为/WEB-INF/classes下:

 

图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

相关笔记推荐
精品视频课程推荐

Java数据结构和算法精讲版
本课程专注于数据结构和算法的内容,使用Java来进行代码示例,不空洞的讲解概念和理论,重点放在代码的实现和示例上。 从零开始、全面系统、成体系的讲解数据结构和基本算法,循序渐进的讲述构建软件系统所常见的数据结构和算法。

ssh+jbpm项目(某集团OA)视频教程
达到能综合使用Struts2+Spring3+Hibernate3+Jbpm4来进行实际项目开发的能力。 包括:ssh和jbpm的整合;数据字典;通用DAO(Spring+Hibernate+泛型+反射+SpEL+模板方法模式);自动生成UUID的加强版;分层开发、SSH联合的基本开发;翻页的taglib;示范真实值和表现值,数据参照的实现;文件上传下载;主子表操;登录验证码;登录控制的拦截器

Ajax+JSON基础实战视频教程
数据校验、Javascript模拟多线程、下拉列表联动、操作XML、AJAX结合JSON的操作、Json-lib的使用

深入浅出学Spring Web MVC视频教程
系统、完整的学习Spring Web MVC开发的知识。包括:Spring Web MVC入门;理解DispatcherServlet;注解式控制器开发详解;数据类型转换;数据格式化;数据验证; 拦截器;对Ajax的支持;文件上传下载;表单标签等内容;最后以一个综合的CRUD带翻页的应用示例来综合所学的知识

深入浅出学Spring Data JPA视频教程
系统、完整的学习Spring Data JPA开发的知识。包括:Spring Data JPA入门;JpaRepository基本功能 ;JpaRepository的查询;客户化扩展JpaRepository;Specifications查询。

浏览(18590)|评论(0)   交流分类:Java|笔记分类: 跟我学spring3

评论(0)
请登录后评论 登录

关于我们 | 联系我们 | 用户协议 | 私塾在线服务协议 | 版权声明 | 隐私保护

版权所有 Copyright(C)2009-2012 私塾在线学习网