第一部分 项目的准备阶段 3
第1章 项目需求分析与设计 3
1.1 开发技术的选取 3
1.2 JavaWeb开发模式 4
1.3 软件项目的需求分析 4
1.4 需求分析报告的格式 5
1.4.1 编写目的 5
1.4.2 运行环境 5
1.4.3 系统结构分析 6
1.4.4 系统功能分析 6
课后练习 9
第2章 MyEclipse集成开发环境 10
2.1 任务一:JDK的安装和配置 10
2.1.1 JDK的下载和安装 10
2.1.2 JDK环境变量的设置 10
2.2 任务二:Tomcat的安装和配置 14
2.3 任务三:Web项目的创建 16
2.4 任务四:在MyEclipse中配置Web服务器 21
2.5 任务五:向Web服务器上部署项目 23
课后练习 25
第3章 MySQL数据库的设计与开发 26
3.1 任务一:创建数据库 26
3.2 任务二:创建数据表 27
3.3 任务三:添加记录 30
3.4 任务四:创建视图 31
3.5 任务五:数据表的备份和还原 32
3.6 任务六:Tomcat数据库连接池的配置 34
课后练习 35
第4章 知识准备 36
4.1 HTML表单及其元素 36
4.1.1 表单 36
4.1.2 表单元素 37
4.2 JSP语法 45
4.2.1 JSP页面的组成 45
4.2.2 JSP注释 45
4.2.3 JSP程序片 47
4.2.4 JSP声明 48
4.2.5 JSP表达式 49
4.3 JSP指令标签 51
4.3.1 page指令 51
4.3.2 include指令 54
4.4 JSP动作标签 56
4.4.1 include动作 56
4.4.2 forward动作 57
4.4.3 plugin动作 57
4.4.4 param动作 57
4.4.5 JavaBean相关动作标签 57
4.5 内置对象 58
4.5.1 request对象 58
4.5.2 response对象 62
4.5.3 session对象 62
4.5.4 application对象 64
4.5.5 out对象 67
4.5.6 page对象 67
4.5.7 exception对象 68
4.5.8 pageContext对象 68
4.5.9 config对象 69
4.6 JDBC简介 69
4.6.1 JDBC的概念及特点 69
4.6.2 Web访问数据库的原理 70
4.6.3 JDBC的结构 70
4.6.4 JDBC的种类 70
4.6.5 手动建立ODBC数据源 71
4.6.6 JDBC访问数据库的基本步骤 75
4.6.7 JDBC URL 82
课后练习 83
第二部分 系统数据访问功能模块的设计开发 87
第5章 商品信息的显示和查询 87
5.1 任务一:商品展示的实现 87
5.1.1 JavaBean的定义 87
5.1.2 商品信息实体Bean的编写 88
5.1.3 DAO类中findAll()方法的编写 90
5.1.4 编写显示商品信息的JSP文件 91
5.2 任务二:商品库存信息的排序显示 94
5.2.1 对视图的排序查询 94
5.2.2 在JSP中使用增强的FOR循环 95
5.3 任务三:查询各分店的库存商品详细信息 96
5.3.1 编写DAO类中的findByXxxx()方法 97
5.3.2 编写与用户查询相关的JSP文件 97
5.4 任务四:用多个条件查询库存商品信息 99
5.4.1 编写DAO类中的findByExample()方法 100
5.4.2 编写与用户多条件查询相关的JSP文件 102
5.4.3 用<jsp:useBean>创建一个Bean实例 103
5.4.4 <jsp:setProperty>关联查询参数与实体Bean的属性 104
5.5 知识扩展 106
5.5.1 JavaBean的范围 106
5.5.2 使用<jsp:setProperty>关联Bean属性和request参数 107
5.5.3 使用<jsp:getProperty>获取JavaBean的属性 109
课后练习 109
第6章 商品入库 111
6.1 任务一:新商品信息的录入 111
6.1.1 编写DAO类中的save()方法 111
6.1.2 编写添加商品基本信息相关的JSP文件 112
6.2 任务二:商品图片的上传 114
6.2.1 文件上载组件的使用 114
6.2.2 第三方组件JSPSmartUpload的使用 115
6.2.3 编写GoodsService类 117
6.3 任务三:分店批量申请进货 119
6.3.1 重载OrdersDAO类中的save()方法 119
6.3.2 编写与添加批量订单相关的JSP文件 120
6.4 知识扩展 123
6.4.1 使用INSERTINTO语句插入记录的其他用法 123
6.4.2 使用INSERTINTO语句进行表复制 123
6.4.3 executeQuery和executeUpdate方法的比较 124
课后练习 124
第7章 商品信息的修改和删除 126
7.1 任务一:商品基本信息的修改 126
7.1.1 编写DAO类中的update()方法 126
7.1.2 在显示商品信息页添加进入修改信息页的用户入口 127
7.1.3 编写修改商品信息相关的JSP页面 130
7.2 任务二:商品图片的修改 132
7.2.1 添加修改商品图片的入口 132
7.2.2 编写修改商品图片相关的JSP文件 134
7.3 任务三:分店商品售出后存货数量的变化 136
7.3.1 编写StockDAO类中用于修改库存的方法 136
7.3.2 编写OrdersDAO类中用于修改订单状态的方法 137
7.3.3 编写OrdersService类中的update()方法 138
7.3.4 编写订单处理相关的JSP文件 138
7.4 任务四:商品售罄后信息的删除 142
7.4.1 GoodsDAO中添加deleteById()的方法 142
7.4.2 编写删除商品信息相关的JSP页 143
7.5 知识扩展 144
7.5.1 修改所有行 144
7.5.2 删除所有行 144
课后练习 144
第三部分 系统的安全设计 147
第8章 账号安全控制 147
8.1 任务一:用户登录功能的实现 147
8.1.1 Servlet简介 147
8.1.2 MyEclipse自动生成Servlet 148
8.1.3 编写EmployeeDAO类中的isEmployee()方法 152
8.1.4 改写doPost()和doGet()方法 153
8.1.5 配置servlet映射 154
8.1.6 编写登录页login.jsp 154
8.2 任务二:验证码的生成 155
8.2.1 编写生成验证码图片的servlet 155
8.2.2 验证码图片servlet的配置 157
8.2.3 使用验证码图片生成的servlet 157
8.2.4 校对验证码 158
8.3 任务三:用户名和密码在客户端的保存 159
8.3.1 Cookie基础 160
8.3.2 编写处理Cookie的类 160
8.3.3 在servlet中调用Cookie处理类 161
8.3.4 改写登录页面 162
8.4 任务四:用户密码的MD5加密 164
8.4.1 店员基本信息录入页面的编写 164
8.4.2 编写对密码进行MD5加密的类 166
8.4.3 编写EmployeeDAO类中的save()方法 167
8.4.4 改写EmployeeDAO类中的isEmployee()方法 168
8.5 任务五:已登录用户的身份跟踪 169
8.5.1 Session简介 169
8.5.2 Servlet中使用Session 170
8.5.3 编写显示欢迎信息页眉的JSP页面 171
8.5.4 编写实现退出系统的JSP页 172
8.6 任务六:角色权限的过滤 172
8.6.1 Filter过滤器简介 172
8.6.2 使用过滤器实现访问权限控制 173
8.6.3 在Web.xml中配置过滤器 174
8.7 知识扩展 175
8.7.1 Servlet生命周期 175
8.7.2 Filter生命周期 176
8.7.3 Filter链 176
8.7.4 Cookie属性的读写 179
8.7.5 Cookie的生存周期 179
8.7.6 MVC设计模式 180
课后练习 180
第9章 其他安全性设计 181
9.1 任务一:对录入的员工信息做合法性检查 181
9.2 任务二:过滤用户的恶意输入 184
9.3 任务三:配置首页和全局错误提示页面 185
9.4 任务四:统计系统在线人数 186
9.5 知识扩展 187
课后练习 188
第四部分数据分析 191
第10章 图表的生成 191
10.1 任务一:将数据导出至Excel中 191
10.2 任务二:将数据输出至Word中 193
10.3 任务三:各分店销量的柱图统计 194
10.4 任务四:商品销售额折线图 197
10.5 任务五:各类商品销量的饼图统计 199
课后练习 201
参考文献 203