收藏私塾在线
 

欢迎您来到私塾在线网!   

请登录! 

免费注册 


zhang的笔记
状态: 离线
人气:4848451
访问用户量:4182
笔记经验:
总积分: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
浏览(18314)|评论(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

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

研磨设计模式——跟着cc学设计系列视频教程
本视频课程是北京Java私塾原创精品书籍《研磨设计模式》一书的配套学习视频,由《研磨设计模式》的第一作者CC录制 课程目标:全面、系统的掌握GoF设计模式的知识,达到可以在实际项目开发中运用的能力 技术要点:如何实现可配置、如何实现缓存以及缓存的管理、如何实现用缓存来控制多实例的创建、如何实现参数化工厂、 如何实现可扩展工厂、如何实现原型管理器、如何实现Java的静态代理和动态代理、如何实现多线程处理队列请求、 如何实现命令的参数化配置、可撤销的操作、宏命令、队列请求和日志请求、如何实现翻页迭代、如何检测环状结构、 如何实现通用的增删改查、如何模拟工作流来处理流程、如何实现简单又通用的XML读取、如何实现模拟AOP的功能......

深入浅出学Shrio视频教程
内容概述:Shiro是目前最热门、最易用、功能超强大的Java权限管理框架,强烈推荐,每个项目都必备的权限管理技术!通过本课程,你将从零开始直到彻底掌握Shiro的相关开发知识,达到可以进行实际项目开发的能力。包括:权限管理基础、Shiro入门、配置、身份认证、授权、Realms、Session管理、和Spring的集成、Web、Cache等众多开发细节技术 技术要点:源码级分析Shiro的授权过程、自定义开发Realm、多个Realms的开发配置、自定义开发AuthenticationStrategy、自定义开发自定义SessionDAO、和Struts2+Spring3的集成(包括修正struts2的bug)、Shiro和SpringMVC+Spring3的集成、包装使用其他的Cache框架、缓存数据同步更新的解决方案等等实际开发中常用的内容

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

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

单元测试-Junit实战视频教程
JUnit4的基本使用;在maven环境下使用JUnit;用JMock来模拟测试对象要依赖的对象;用cobertura实现覆盖测试;用hundson实现持续集成;JUnit3的基本使用。

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

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

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

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