下载地址 3.SCM手把手开发文档.pdf 1.8 MB 点右键 另存为 下载就可以了.

项目首页: http://code.google.com/p/sshplus/

说明: 此文档仍有部分疏漏之处, 日后慢慢修正.

在线阅读地址(由Google提供):

http://docs.google.com/fileview?id=0BzyDlAG7SpHqNWUwZDk0NDctMjUxMS00ZDI2LTgwMTgtZDcxODQ5MWJlZTdm&hl=zh_CN

http://docs.google.com/fileview?id=0BzyDlAG7SpHqNWUwZDk0NDctMjUxMS00ZDI2LTgwMTgtZDcxODQ5MWJlZTdm&hl=zh_CN

image

文档目录:

BeanSoft SCM项目手把手开发文档

clip_image002

项目首页: http://code.google.com/p/sshplus/

作者:刘长炯 http://beansoft.blogjava.net/ (博客)

日期:2009-6-16

版本:1.1

郑重声明:网上流传的”SCM 手把手开发文档” 是本文的早期草稿版本,唯一合法版权所有者为本人刘长炯。某些小培训机构抄袭或者使用本稿进行虚假宣传牟利的行为( 如文档前冠以XXXX 培训机构的名字), 是非法的。本文版权所有为作者本人, 除此之外并无第三者。

SCM项目手把手开发文档··· 1

1 编写目的··· 5

2 搭建基本开发环境··· 6

2.1 安装JDK和MyEclipse 5.5/6.0/6.5· 6

2.2 下载和安装Tomcat 6

2.3 安装MySQL 5.0/6.0 数据库··· 6

2.4 安装MySQL客户端管理软件Navicat Lite(可选) 7

2.5 安装和配置邮件服务器 (可选) 8

2.6 创建数据库和表··· 9

2.6.1 创建数据库··· 9

2.6.2 创建数据库表··· 9

2.7 准备必要的类库文件··· 9

3 开发项目··· 10

3.1 创建struts2sh Web项目··· 10

3.2 加入必要的JAR类库··· 11

3.3 导入JSP页面文件··· 12

3.4 修改web.xml加入Struts 2过滤器··· 12

3.5 设置Hibernate全局配置文件··· 13

3.6 创建项目包结构··· 14

3.7 开发通用工具类··· 15

3.7.1 util.MD5Bean· 15

3.7.2 util.mail.MailSender 15

3.7.3 BadWordFilter 16

3.7.4 filters.TomcatFormFilter 16

3.8 开发实体类和HBM文件··· 17

3.9 开发DAO层··· 18

3.9.1 ThreadLocal原理简述··· 18

3.9.2 HibernateSessionFactory· 19

3.9.3 BaseDAO·· 20

3.9.4 OpenSessionInViewFilter 22

3.10 开发用户模块··· 22

3.10.1 BaseActionSupport(可选) 22

3.10.2 UserAction类摘要设计··· 24

3.10.3 Struts 2通配符方式配置··· 25

3.10.4 用户列表功能··· 25

3.10.5 删除··· 26

3.10.6 表单AJAX验证功能··· 26

3.10.7 注册··· 27

3.10.8 激活··· 29

3.10.9 用户登录··· 29

3.10.10 用户注销··· 29

3.10.11 修改用户自己资料··· 29

3.10.12 取回密码··· 30

3.10.13 修改个人密码··· 31

3.10.14 根据ID查看用户信息··· 31

3.11 开发安全访问过滤器模块··· 31

3.12 开发后台管理模块(此模块建议作为练习) 34

3.12.1 前台设计··· 34

3.12.2 用户管理概要设计··· 37

3.12.2.1 用户搜索··· 37

3.12.2.2 添加新用户··· 37

3.12.2.3 浏览所有用户··· 37

3.12.2.4 删除用户··· 37

3.12.2.5 修改用户··· 38

3.12.2.6 练习: 模糊搜索用户··· 38

3.12.2.7 组合条件查询(复合查询) 38

3.13 站点全局配置及加载··· 39

3.13.1.1 加载··· 39

3.13.1.2 修改··· 40

3.14 安全中心··· 41

3.14.1 页面设计··· 41

3.14.2 添加新角色··· 41

3.14.3 浏览所有角色··· 41

3.14.4 添加资源访问许可··· 41

3.14.5 浏览所有资源访问许可··· 41

4 分页模块··· 41

5 供应商和商品模块··· 43

5.1 实体关系··· 43

5.2 功能分析··· 44

5.3 商店首页面··· 44

5.4 供应商模块··· 46

5.4.1 类设计··· 46

5.4.2 建表,编写实体和HBM文件并注册到hibernate.cfg.xml 46

5.4.3 添加Struts 2 Action配置··· 46

5.4.4 注册供应商用户··· 46

5.4.5 添加供应商(TODO 供应商审批,隶属于交易员模块) 47

5.4.6 查看我的供应商列表··· 47

5.4.7 查看所有已审批供应商列表··· 47

5.4.8 查看供应商详细信息··· 47

5.4.9 修改供应商信息··· 48

5.4.10 根据名字查找供应商列表··· 48

5.4.11 查看分成总额··· 49

5.4.12 修改分成合并到修改商品信息功能即可··· 49

5.5 CSS菜单的用法··· 49

5.6 商品模块··· 51

5.6.1 类设计··· 51

5.6.2 页面设计··· 52

5.6.3 添加商品··· 52

5.6.4 浏览单个商品信息··· 53

5.6.5 浏览我提交的商品列表··· 53

5.6.6 浏览所有商品列表(给购物者) 54

5.6.7 修改商品信息··· 54

5.6.8 高级商品搜索··· 54

5.6.9 查看库存··· 56

5.6.10 销量排行TOP10· 56

5.6.11 商品列表输出为Excel格式··· 56

5.6.12 JXL 生成和解析 Excel 57

5.6.13 删除商品··· 61

5.6.14 按供应商浏览商品··· 61

6 购物车模块··· 62

6.1 页面设计··· 62

6.2 类设计··· 63

6.3 CartAction· 63

6.3.1 获取Cart对象的方法, 来从session取出购物车··· 63

6.3.2 购物车物品列表··· 64

6.3.3 清空购物车··· 64

6.3.4 添加订单项··· 65

6.3.5 jQuery异步加载··· 65

6.3.6 购物车移出商品··· 66

6.3.7 定时刷新购物车件数(所有页面和welcome.jsp) 67

6.3.8 修改购物车订单项物品数··· 68

6.3.9 *** 重点 创建订单项··· 68

7 订单模块··· 69

7.1 我的订单··· 69

7.2 查看订单详情··· 69

7.3 购物总数和支出金额··· 70

7.4 未支付/已支付订单列表(显示支付链接) 70

8 交易员模块··· 71

8.1 供应商审核··· 71

8.2 商品审核··· 72

8.3 商品打折和分成调整··· 72

9 安全配置··· 72

10 支付··· 73

11 财务管理模块··· 73

12 JFreeChart的简单介绍··· 74

12.1 开发步骤··· 75

12.1.1 web.xml注册DisplayChart Servlet 75

12.1.2 生成Dataset, 提供数据供图片显示··· 75

12.1.3 生成正确类型的chart,并设置显示格式··· 75

12.1.4 把chart输出到图片,并写入map定义··· 76

12.1.5 在网页中显示map和图片··· 76

13 程序开发调试交流··· 77

13.1 session.invalidate()导致包含页面异常··· 77

13.2 Null的Integer/Long/Double和数字运算报NullPointerException· 77

13.3 CGLIB实现DAO自动打开和提交事务··· 77

13.4 Hibernate 双向关联inverse到底有何作用?· 79

13.5 Hibernate关联保存时是否需要读出实体所有属性?· 80

13.6 HTML BASE标签的用途··· 80

13.7 Struts 2转换器的用途··· 81

13.7.1 开发自定义转换器··· 81

13.8 地址栏直接带汉字传递参数采用何种编码··· 83

13.9 乱码简单总结··· 84

13.10 java.lang.OutOfMemoryError: PermGen space· 85

13.11 FieldSet和Legend标签··· 85

13.12 Word风格的细表格边框··· 85

13.13 表单乱码过滤器应该覆盖所有和读取参数有关的方法··· 86

13.14 Struts Problem Report 87

13.14.1 Stacktraces· 87

13.15 如果网站负载特别重, 如何进一步优化··· 87

13.16 加入Struts 2 xml 自动完成提示(无法上网) 88

13.17 EasyValidation 能不能混合 Struts 2 Tag?· 89

13.18 日期解析和格式化SimpleDateFormat 89

13.19 SQL日期精度问题··· 90

13.20 Hibernate对基本类型的处理··· 91

13.21 Hibernate一对多保存时发现一的一方未关联上··· 91

13.22 尝试对字符串做forEach循环出错(EL) 91

13.23 IE8 Beta丢失问题··· 92

13.24 各种有效的contentType从哪里找?· 92

13.25 IE 6下面看不到CSS菜单··· 92

13.26 No result defined for action XXX and result success(input)的真正错误原因··· 93

13.27 排除法··· 93

13.27.1 排除浏览器及浏览器版本的因素··· 93

13.27.2 排除多余属性的干扰··· 94

13.27.3 JDK运行版本和开发工具编译器版本是否匹配?· 94

13.27.4 重新发布Web应用或者复制新的JAR/Class文件了嘛?· 96

13.27.5 Hibernate的包加完整了嘛?· 96

13.27.6 别的类似项目是否能正常运行?· 97

13.27.7 log4j.properties是我们的好朋友··· 97

13.27.8 姜是老的辣··· 98

13.27.9 把能正确运行的项目的jar包集中起来,分门别类放置··· 98

13.28 关联程序源码··· 99

13.29 MyEclipse 6开发JDK6和Struts 2冲突的问题真实原因及解决办法··· 99

13.30 使用UTF-8或者GBK编码的MySQL实例··· 106

13.31 另外一个HibernateSessionFactory事务的异常··· 107

13.32 MySQL安装版停止运行··· 108

13.33 MyEclipse不会自动删除项目里面已经去掉的JAR· 108

13.34 MySQL导出完整的建表语句··· 108

13.35 Struts 2不要加所有的JAR文件,否则项目会报错··· 108

13.36 JavaMail发送失败问题··· 108

13.37 关于MyEclipse 6.0.0 GA开发SSH应用的%%%% Error Creating SessionFactory %%%% java.lang.SecurityException: class “org.apache.commons.collections.SequencedHashMap”‘异常的解决方案 110

13.38 项目发布打开JSP无法编译的问题··· 111

13.39 Hibernate class xxx.Vendor not mapped· 112

13.40 Hibernate 数据库保存总是报错,请检查hbm的catalog属性··· 112

13.41 Struts 1 input不是jsp页面无法取出ActionError的问题··· 113

13.42 Hibenrate查询主键不匹配报错··· 113

13.43 Hibernate跨Session懒惰加载报错··· 113

13.44 Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table ‘struts2sh.scm_order’ doesn’t exist· 115

13.45 非空字段插入前必须赋值··· 115

13.46 看家本领1: Struts 2无需重新发布就可以生效新的XML配置··· 115

13.47 看家本领2: 修改类文件无需重新发布就可以立即测试新类··· 115

14 Struts 2的一些参考资料··· 116

转载请注明:WebLogic Android 博客 » SCM项目手把手开发文档 下载与在线阅读