《精通JSP Web开发技术与典型应用》PDF下载

  • 购买积分:17 如何计算积分?
  • 作  者:张新曼编著
  • 出 版 社:北京:人民邮电出版社
  • 出版年份:2007
  • ISBN:7115138354
  • 页数:567 页
图书介绍:本书介绍了JSP开发基础技术,并剖析了JSP开发中的重点和难点。

1.1.1 什么是JSP 3

1.1.2 为什么要用JSP 3

第一部分 JSP基本技术 3

第1章 初识JSP 3

1.1 JSP简介 3

1.1.3 动态网页开发技术比较 4

1.2.1 JDK的安装与配置 5

1.2 建立JSP的运行环境 5

1.2.2 Tomcat的安装 6

1.2.4 Eclipse安装与配置 8

1.2.3 Tomcat的配置与运行 8

1.2.5 Eclipse中文语言包的安装 10

1.2.7 建立开发环境 11

1.2.6 安装Tomcat插件 11

1.2.8 在Eclipse中创建JSP 12

代码1-1 文件名:HelloJSP.jsp 13

1.3 JSP起步 13

1.4 小结 14

2.1 HTTP请求/响应模型 15

第2章 HTTP和Servlet基础 15

2.3 JSP页面处理过程 16

2.2 Scrvlet简介 16

2.4 Servlet生命周期 17

2.5 简单Servlet实例 18

代码2-1 文件名:SimpleServlet.java 19

代码2-2 文件名:Web.xml 20

2.6 小结 21

3.1 JSP模板文本 23

3.1.1 HTML文本 23

第3章 JSP基本语法 23

3.1.2 HTML注释 24

代码3-1 文件名:Test1.jsp 24

代码3-2 文件名:Test2.jsp 25

3.1.4 JSP注释 26

3.1.3 JSP转义字符 26

代码3-3 文件名:Test.jsp 27

3.2 JSP脚本元素 27

3.2.2 JSP表达式元素 28

3.2.1 JSP声明元素 28

代码3-4 文件名:Expression.jsp 28

3.2.3 JSP脚本小程序元素 29

3.3 JSP指令元素 30

代码3-5 文件名:Travell.jsp 30

3.3.1 页面指令元素:page 31

3.3.2 页面包含指令元素:include 32

代码3-6 文件名:Page.jsp 32

代码3-7 文件名:Include.jsp 33

代码3-8 文件名:TestInclude.jsp 33

3.4.1 页面包含操作:include 34

3.3.3 标签指令元素:taglib 34

3.4 JSP标准操作元素 34

代码3-10 文件名:Include.jsp 35

代码3-9 文件名:IncludeTo.jsp 35

3.4.2 页面重定向操作:forward 36

代码3-11 文件名:Forward.jsp 36

3.4.4 JavaBean调用操作:useBean 37

代码3-12 文件名:Welcome.jsp 37

3.4.3 参数传递操作:param 37

3.4.5 JavaBean属性设置操作:setProperty 39

3.4.6 JavaBean属性读取操作:getProperty 39

代码3-13 文件名:Login.jsp 40

代码3-14 文件名:Error.jsp 41

代码3-15 文件名:Login.java 41

3.4.7 Applet嵌入操作:plugin 43

代码21-2 文件名:UserListServlet.java 43

代码3-16 文件名:Testapplet.java 44

3.5 小结 45

代码3-17 文件名:Applet-plugin.jsp 45

第4章 JSP内置对象 47

4.1 request请求对象 47

4.1.1 主要函数简介 47

4.1.2 request对象主要函数的使用 49

代码4-1 文件名:Request.jsp 49

4.1.3 在Servlet使用request对象 50

代码4-2 文件名:RequestInfo.java 51

代码4-4 文件名:RequestHeaderExample.java 52

4.1.4 在Servlet中获得request对象的Header 52

代码4-3 文件名:web.xml 52

代码4-5 文件名:web.xml 53

4.2.1 主要函数简介 54

4.2.2 Response对象主要函数的使用 54

代码4-6 文件名:Response.jsp 54

4.2 response响应对象 54

4.3.1 主要函数简介 56

4.3 out输出对象 56

4.3.2 out对象主要函数的使用 57

代码4-7 文件名:Out.jsp 57

4.4 pageContext页面上下文对象 58

4.4.1 主要函数简介 58

代码4-8 文件名:PageContext.jsp 59

4.4.2 PageContext对象主要函数的使用 59

代码4-10 文件名:TestPageCon.jsp 60

代码4-9 文件名:TestPageContext.jsp 60

4.5 session会话对象 61

4.5.1 主要函数简介 61

4.5.2 session对象主要函数的使用 62

代码4-11 文件名:Session1.jsp 62

代码4-12 文件名:Session2.jsp 62

代码4-13 文件名:Session3.jsp 63

4.5.3 在JSP和Servlet之间传递数据 64

代码4-14 文件名:SessionExample.java 64

代码4-15 文件名:web.xml 65

代码4-16 文件名:SessionServlet.jsp 65

4.6.1 主要函数简介 67

4.6 application应用程序对象 67

4.6.2 application对象主要函数的使用 67

代码4-17 文件名:Application.jsp 67

4.7.1 主要函数简介 68

4.7 page页面对象 68

代码4-18 文件名:Page.jsp 69

4.7.2 page对象的简单例程 69

4.8.2 config对象主要函数的使用 70

代码4-19 文件名:web.xml 70

4.8.1 主要函数简介 70

4.8 config参数配置对象 70

代码4-20 文件名:config.jsp 71

4.9 exception异常处理对象 72

4.10 小结 72

4.9.1 主要函数简介 72

4.9.2 自定义错误页面 72

第5章 JavaBean在JSP中的应用 75

5.1 JavaBean简介 75

5.1.1 JavaBean是什么 75

5.1.2 使用JavaBean的原因 76

5.2 JavaBean的开发 76

代码5-1 文件名:GuessGame.java 76

5.3 在JSP中使用JavaBean 78

5.3.1 调用JavaBean 78

代码5-2 文件名:GuessGame.jsp 79

5.3.2 设置JavaBean的属性 80

代码5-3 文件名:Bean_Indexed.java 81

代码5-4 文件名:Counter.java 82

5.3.3 共享JavaBean 82

代码5-5 文件名:Online.jsp 83

5.4 小结 84

6.1 MVC框架简介 85

第6章 Servlet和JSP的集成——MVC框架 85

6.1.1 MVC框架是什么 85

6.1.2 使用MVC框架的原因 86

6.2.1 Model层的实现 87

6.2 实现MVC 87

代码6-1 文件名:model_Bean 88

代码6-2 文件名:view_Table.jsp 89

6.2.2 View层的实现 89

6.2.3 Control层的实现 89

代码6-3 文件名:controller_Servlet.java 89

代码6-4 文件名:web.xml 90

6.3 3种数据共享方式的对比 91

6.3.1 基于请求的共享 91

6.3.2 基于会话的共享 91

6.4 Web组件的3种关联关系 92

6.3.3 基于应用的共享 92

6.3.4 小结 92

6.4.1 请求转发 93

6.4.2 请求重定向 93

6.5 3种典型的会话跟踪方法 94

6.4.3 包含 94

6.5.1 使用Cookie 95

6.5.2 URL重写 96

6.5.3 隐藏的表单域 96

6.6 小结 97

第7章 JSP开发中的常用技巧 99

7.1 JSP程序的国际化与本地化 99

7.1.1 使用时间格式 99

7.1.2 格式化日期和时间 100

代码7-1 文件名:DateFormat.jsp 100

7.1.3 语言的国际化 101

代码7-2 文件名:Unicode.jsp 102

代码7-3 文件名:Japanese_Hello.jsp 103

7.2 中文乱码的问题 104

7.2.1 JSP页面显示时的中文乱码问题 104

代码7-4 文件名:Chinese_Error.jsp 104

代码7-5 文件名:Chinese_True.jsp 105

代码7-7 文件名:Chinese_Print.jsp 106

7.2.2 JSP页面传递中文参数时的乱码问题 106

代码7-6 文件名:Chinese_Input.jsp 106

7.2.3 Servlet处理中文参数时的乱码问题 107

代码7-9 文件名:web.xml 108

代码7-10 文件名:Poetry_Servlet.java 108

代码7-8 文件名:Poetry_Input.jsp 108

代码7-12 文件名:Url_print.jsp 111

代码7-11 文件名:Url_Input.jsp 111

7.2.4 URL传递的中文参数的乱码问题 111

7.3.1 错误的过程和分类 113

7.3.2 HTTP状态码 113

7.3 错误处理问题 113

代码7-14 文件名:NotFound.jsp 114

7.3.3 商业应用中友好错误处理方式的实现 114

代码7-13 文件名:Welcome.jsp 114

代码7-16 文件名:web.xml 115

代码7-15 文件名:Error_500.jsp 115

代码7-17 文件名:ErrorPage.jsp 116

7.3.4 用errorPage属性创建错误处理页面 116

7.4 在JSP中动态生成图像 117

代码7-18 文件名:Error_Make.jsp 117

7.4.2 动态生成图像例程 118

代码7-19 文件名:DynamicPic.jsp 118

7.4.1 动态生成图像的技术设计思路 118

7.5 小结 120

8.1.2 为什么要用表达式语言 123

8.1.1 表达式语言是什么 123

第二部分 JSP高级技术 123

第8章 JSP 2.0表达式语言(EL) 123

8.1 表达式语言简介 123

代码8-1 文件名:Call.jsp 124

8.2 表达式语言的使用 124

8.2.1 调用表达式语言 124

8.2.2 禁止解析表达式语言 125

代码8-2 文件名:web.xml 125

代码8-3 文件名:Disable.jsp 126

8.3 表达式求值 127

8.3.1 运算符求值 127

代码8-4 文件名:Calculate.jsp 127

代码8-5 文件名:Compare.jsp 128

8.3.2 条件求值 130

8.4 访问作用域变量 131

代码8-6 文件名:Condition.jsp 131

代码8-7 文件名:Scope.java 131

代码8-8 文件名:Scope.jsp 132

代码8-9 文件名:web.xml 133

8.5 隐含对象 133

代码8-10 文件名:Implicit-object.jsp 134

8.6 存取运算符 135

8.6.1 访问JavaBean的属性 135

8.6.2 访问集合中的元素 138

代码8-11 文件名:SetAccess.java 138

代码8-12 文件名:SetAccess.jsp 139

8.7 定义与使用函数 140

代码8-13 文件名:web.xml 140

代码8-15 文件名:el_fun.tld 141

代码8-14 文件名:Fun.java 141

代码8-16 文件名:fun_test.jsp 142

8.8 小结 143

9.1 JSTL简介 145

9.1.1 JSTL是什么 145

第9章 JSP标准标签库(JSTL 1.1) 145

代码9-1 文件名:scriptlet.jsp 146

9.1.2 为什么要用JSTL 146

9.1.3 安装配置JSTL 147

代码9-2 文件名:tag.jsp 147

9.2.1 输出计算结果标签〈c:out〉 148

9.2 JSTL的核心标签 148

代码9-3 文件名:printData.jsp 149

9.2.2 设置对象值属性标签〈c:set〉 150

9.2.3 删除对象值属性标签〈c:remove〉 151

代码9-4 文件名:setvalue.jsp 151

代码9-5 文件名:removevar.jsp 152

9.2.4 捕获异常标签〈c:catch〉 152

代码9-6 文件名:catchexception.jsp 153

代码9-7 文件名:conditiontest.jsp 154

9.2.5 if条件判断标签〈c:if〉 154

9.2.6 choose条件判断标签〈c:choose〉 155

9.2.7 条件分支标签〈c:when〉 155

代码9-8 文件名:travel.jsp 156

9.2.8 其他条件分支标签〈c:otherwise〉 156

9.2.9 迭代标签〈c:forEach〉 157

代码9-9 文件名:printeven_number.jsp 158

9.2.10 处理TokenString专用迭代标签〈c:forTokens〉 158

代码9-10 文件名:printstring.jsp 159

9.2.11 导入URL资源标签〈c:import〉 160

代码9-12 文件名:welcome.jsp 161

代码9-11 文件名:import_URL.jsp 161

9.2.12 构造URL标签〈c:url〉 162

代码9-13 文件名:URL_build.jsp 162

9.2.13 重定向URL标签〈c:redirect〉 163

代码9-14 文件名:URL_redirect.jsp 163

9.2.14 URL参数传递标签〈c:param〉 164

代码9-15 文件名:trans_param.jsp 164

9.3 JSTL的XML标签 165

9.3.1 XPath简介 165

9.3.2 解析XML文件标签〈x:parse〉 165

9.3.3 输出XML文件标签〈x:out〉 166

代码9-16 文件名:pictures.jsp 166

9.3.4 存储XPath处理结果标签〈x:set〉 167

代码9-17 文件名:pictures.xml 167

9.3.5 转换XML标签〈x:transform〉 168

代码9-18 文件名:result_store.jsp 168

9.4.1 设置时区标签〈fmt:timeZone〉 170

9.4 JSTL的格式化/国际化标签 170

9.3.6 XML参数传递标签〈x:param〉 170

代码9-19 文件名:set_timezone.jsp 171

9.4.2 存储时区设置标签〈fmt:setTimeZone〉 172

9.4.4 解析日期/时间值标签〈fmt:parseDate〉 173

9.4.3 格式化日期/时间标签〈fmt:formatDate〉 173

代码9-20 文件名:parseDate.jsp 174

9.4.5 格式化数值标签〈fmt:formatNumber〉 175

代码9-21 文件名:formatNumber.jsp 176

9.4.6 解析数值字符串标签〈fmt:parseNumber〉 177

9.4.7 设置语言环境标签〈fmt:setLocale〉 178

代码9-22 文件名:setLocale.jsp 179

9.4.8 选择资源包标签〈fmt:bundle〉 179

9.4.10 文本本地化标签〈fmt:message〉 180

9.4.9 设置缺省资源包标签〈fmt:setBundle〉 180

代码9-23 文件名:inter_taglib.jsp 181

9.5 JSTL的函数标签 182

9.4.11 传递文本消息参数值标签〈fmt:param〉 182

9.4.12 指定字符编码标签〈fmt:requestEncoding〉 182

9.6 小结 183

第10章 创建自定义标签 185

10.1 JSP标签库 185

10.1.1 标签的工作原理 185

10.1.2 自定义标签的构成 185

10.1.3 自定义标签入门实例 186

代码10-1 文件名:Welcome.java 186

代码10-2 文件名:mytag.tld 187

代码10-3 文件名:web.xml 188

代码10-4 文件名:Welcome.jsp 188

10.2 开发自定义标签 189

10.2.1 开发带属性的标签 189

代码10-5 文件名:TimeTag.java 190

代码10-7 文件名:time.jsp 190

代码10-6 文件名:mytag.tld 190

代码10-8 文件名:BodyTag.java 191

10.2.2 开发带标签体的标签 191

代码10-9 文件名:mytag.tld 193

代码10-10 文件名:BodyTag.jsp 193

10.3 标签开发技巧 194

10.3.1 使用SimpleTag接口简化自定义标签的开发 194

代码10-11 文件名:Welcome_SimpleTag.java 194

代码10-13 文件名:Welcome_SimpleTag.jsp 195

代码10-12 文件名:mytag.tld 195

代码10-14 文件名:IfTag.java 196

10.3.2 多个标签的嵌套 196

代码10-15 文件名:OutTag.java 197

代码10-17 文件名:vcorworktag.jsp 198

代码10-16 文件名:mytag.tld 198

10.3.3 开发迭代标签库 199

代码10-19 文件名:mytag.tld 200

代码10-18 文件名:IterateTag.java 200

代码10-20 文件名:iteratetag.jsp 200

10.4 小结 201

第11章 使用Struts控制器简化MVC开发 203

11.1 Struts简介 203

11.1.1 Struts是什么 203

11.1.2 为什么要用Struts 204

11.1.3 安装配置Struts 204

11.2.1 配置web.xml 205

11.2 配置Struts应用 205

代码11-1 文件名:web.xml 206

代码11-2 文件名:struts-config.xml 208

11.2.2 Struts配置文件 208

11.3.2 ActionMapping组件:存储映射信息 212

11.3.3 ActionForm组件:保存请求的参数 212

11.3.1 ActionServlet组件:控制器 212

11.3 Struts主要控制器组件 212

11.3.4 Action组件:将请求与业务逻辑分开 213

11.4 Struts标签库 213

11.4.1 Struts-html标签库:创建动态HTML用户界面 214

11.4.2 Struts-bean标签库:将JavaBean代码放到JSP页面 214

11.5 Struts开发实例 215

代码11-3 文件名:WelcomeAction.java 217

代码11-4 文件名:WelcometoStruts.jsp 218

代码11-5 文件名:MessageResources.properties 218

代码11-6 文件名:Struts-config.xml 218

11.6 小结 219

第12章 使用Servlet 2.4过滤器和监听器 221

12.1.1 过滤器的用途 221

12.1 Servlet过滤器 221

12.1.2 配置过滤器 222

12.1.3 版权过滤器应用实例 223

代码12-1 文件名:CopyrightFilter.java 223

代码12-2 文件名:web.xml 224

代码12-3 文件名:HelloJSP.jsp 225

12.1.4 禁止未授权的IP访问站点过滤器应用实例 226

代码12-4 文件名:FilterIP.java 226

代码12-5 文件名:web.xml 227

代码12-6 文件名:Succeed.jsp 227

代码12-7 文件名:ErrorInfo.jsp 228

12.2.1 监听器的原理 228

12.2 Servlet监听器 228

12.2.3 监听器应用实例:在线用户监听器 229

12.2.2 监听器的类型 229

代码12-8 文件名:OnlineUserSet.java 230

代码12-9 文件名:OnlineListener.java 231

12.2.4 监听器应用实例:在线用户监听器测试 232

代码12-10 文件名:web.xml 232

代码12-11 文件名:Login.jsp 232

代码12-12 文件名:UserList.jsp 232

12.3 小结 234

13.1.1 MySQL简介 235

第13章 数据库访问——JDBC 235

13.1 MySQL数据库基础 235

13.1.2 MySQL的安装 236

13.1 MySQL的配置 237

13.1.5 增加数据 238

13.1.4 创建数据表 238

13.1.6 修改数据 239

13.1.7 删除数据 239

13.1.8 删除全部数据 239

13.2.1 连接MySQL数据库 240

13.1.9 删除表 240

13.2 用JDBC连接MySQL数据库 240

代码13-1 文件名:MySQLTest.jsp 241

代码13-2 文件名:MySQLTest.jsp 242

13.2.2 操作MySQL数据库 242

13.3 JDBC基础 243

13.3.1 JDBC简介 244

13.3.2 数据库的连接 245

13.3.3 数据库的操作 247

代码13-3 Connection接口类例程 247

代码13-6 PreparedStatement类例程 248

13.3.4 使用数据库的事务 248

代码13-4 Statement类例程 248

代码13-5 PreparedStatement类例程 248

代码13-7 数据库事务使用例程 249

13.3.5 ResultSet简介 249

代码13-8 ResultSet结果集例程 250

13.4 用JDBC连接其他数据库 250

13.4.1 连接其他数据库 250

13.4.2 通用数据库连接实例 252

代码13-9 通用数据库连接演示例程 252

13.5 数据库连接池 253

13.5.1 多用户数据库连接方法 253

13.5.2 在Tomcat下配置MySQL数据源 254

代码13-10 文件名:Server.xml 255

代码13-11 文件名:MySQLDSTest.jsp 256

代码13-12 文件名:web.xml 256

13.5.3 测试MySQL数据库连接池 256

代码13-13 文件名:context.xml 257

代码13-14 文件名:DB_Conn.java 258

13.6 公共数据库访问连接JavaBean的开发 258

13.7 在Servlet中使用JDBC访问数据库 259

13.7.1 ISQL Servlet类的开发 259

代码13-15 文件名:ISQL.java 259

13.7.2 其他文件的开发 262

代码13-16 文件名:InternetSQL.jsp 262

13.7.3 例程功能测试 263

代码13-17 文件名:web.xml 263

13.8 小结 264

14.1 MyEclipse插件简介 265

14.1.1 MyEclipse插件是什么 265

14.1.2 为什么要用MyEclipse插件 265

第14章 MyEclipse插件在JSP开发中的应用 265

14.2.1 下载MyEclipse 266

14.2 MyEclipse安装与配置 266

14.2.2 安装MyEclipse 267

14.2.3 配置MyEclipse 268

14.3 可视化开发JSP应用 269

14.3.1 新建Web Project 269

14.3.3 控件面板简介 271

14.3.2 新建JSP文件 271

代码14-1 文件名:HelloMyEclipse.jsp 272

14.3.4 用MyEclipse开发JSP应用简例 272

14.3.5 用MyEclipse开发的Struts应用简例 273

代码14-2 文件名:MyJsp.jsp 274

代码14-3 文件名:MyJsp.jsp 275

14.4 MyEclipse的UML设计支持 275

14.4.1 UML设计简介 275

14.4.2 简单类设计案例 275

14.4.3 生成Java代码 276

代码14-4 文件名:Goods.Java 277

14.4.4 逆向Java代码 278

14.5 小结 279

第15章 Hibernate框架的应用 281

15.1.2 为什么要用Hibernate框架 281

15.1 Hibernate框架简介 281

15.1.1 Hibernate框架是什么 281

15.2.1 下载Hibernate 282

15.2 Hibernate安装与配置 282

15.2.2 安装Hibernate 283

代码15-2 文件名:hibernate.properties 284

15.2.3 Hibernate的配置文件 284

代码15-1 文件名:hibernate.cfg.xml 284

15.3 用Hibernate开发Web应用 287

15.3.1 Hibernate的核心类简介 287

15.3.2 编写实体对象文件 288

代码15-3 文件名:Teacher.java 289

15.3.3 编写实体映射文件Teacher.hbm.xml 290

15.3.4 编写Hibernate配置文件hibernate.cfg.xml 290

代码15-4 文件名:Teacher.hbm.xml 290

代码15-5 文件名:hibernate.cfg.xml 291

15.3.5 开发JSP文件 291

代码15-6 文件名:HibernateTest.jsp 292

15.4 MyEclipse插件对Hibernate的支持简介 293

15.5 小结 296

代码15-7 文件名:hibernate.cfg.xml 296

16.1.1 Spring框架是什么 297

16.1 Spring框架简介 297

第16章 Spring框架的应用 297

16.2.1 下载Spring 298

16.1.2 为什么要用Spring框架 298

16.2 Spring安装与配置 298

16.2.2 安装Spring 299

16.3 用Spring开发Web应用 300

代码16-1 文件名:bean.xml 300

代码16-2 文件名:HelloBean,java 300

16.2.3 配置Spring 300

16.3.1 第1个Spring程序:例程Hello,Spring! 300

代码16-3 文件名:bean.xml 301

16.3.2 Spring和MySQL连接:例程SpringMySQLTest 302

代码16-4 文件名:SpringTest.jsp 302

代码16-5 文件名:MySQLTest.java 303

代码16-6 文件名:bean.xml 303

代码16-7 文件名:SpringMySQLTest.jsp 304

16.4 MyEclipse插件对Spring的支持简介 304

16.5 小结 306

第三部分 JSP技术应用 309

第17章 用户注册登录模块 309

17.1.1 验证码简介 309

17.1 关键技术 309

代码17-1 文件名:Random.jsp 310

17.1.2 验证码技术实现 310

17.1.3 MD5数据加密简介 312

17.1.4 MD5加密算法技术实现 314

代码17-2 文件名:MD5_Encoding.java 314

代码17-3 文件名:MD5_Test.jsp 320

17.1.5 表单验证 321

17.2 一个基本的用户注册模块的设计与实现 321

17.2.1 用户注册模块设计 321

17.2.2 用户注册页面 322

代码17-4 文件名:Register.jsp 322

17.2.3 用户信息Bean 326

代码17-5 文件名:User.java 326

代码17-6 文件名:DB_User.java 329

17.2.4 用户信息数据库操作Bean 329

代码17-7 文件名:DB_User.java 330

代码17-8 文件名:DB_User.java 331

代码17-9 文件名:DB_User.java 332

代码17-11 文件名:DB_User.java 333

代码17-10 文件名:DB_User.java 333

代码17-12 文件名:RegProcessServlet.java 334

17.2.5 用户注册Servlet 334

17.2.6 用户注册成功/失败页面 337

代码17-13 文件名:reg_success.jsp 337

代码17-14 文件名:reg_failure.jsp 338

17.2.7 用户注册信息的验证 339

17.2.8 用户注册信息的加密 341

17.3 一个基本的用户登录模块的设计与实现 341

17.3.2 用户登录页面 342

17.3.1 用户登录模块设计 342

代码17-15 文件名:Login.jsp 343

17.3.3 用户登录Servlet 344

代码17-16 文件名:LoginServlet.java 344

17.3.4 用户登录信息的验证 346

17.4 本章难点剖析 347

17.5 小结 347

17.3.5 保存登录信息 347

18.1.1 模块设计 349

第18章 购物车模块 349

18.1 购物车模块设计 349

18.1.2 数据库设计说明 350

18.1.3 系统功能演示 350

18.1.4 系统流程图 352

18.2 数据表的封装 353

18.2.1 商品表的封装 353

代码18-1 文件名:Goods.java 353

代码18-2 文件名:Type.java 356

18.2.2 商品类别表的封装 356

代码18-3 文件名:Orders.java 357

18.2.3 订单表的封装 357

代码18-4 文件名:Orders_detail.java 360

18.2.4 订单明细表的封装 360

18.3 购物车模块实现 361

18.3.1 Vector类简介 361

代码18-5 文件名:DB_goods.java 362

18.3.2 商品表数据库操作Bean 362

18.3.3 商品分类表数据库操作Bean 368

代码18-6 文件名:DB_type.java 368

18.3.4 显示商品列表 369

代码18-7 文件名:goods_list.jsp 369

18.3.5 设置商品数量 371

代码18-8 文件名:set_number.jsp 372

18.3.6 购物车Servlet 373

代码18-9 文件名:goods_cartservlet.java 373

代码18-10 文件名:web.xml 377

代码18-11 文件名:goods_show.jsp 378

18.3.7 购物车核心功能的实现 378

代码18-12 文件名:check_out.jsp 382

18.3.8 前台结账 382

18.3.9 订单表数据库操作Bean 386

代码18-13 文件名:DB_orders.java 386

代码18-14 文件名:DB_orders_detail.java 388

18.3.10 订单明细表数据库操作Bean 388

18.3.11 确认订单 389

代码18-15 文件名:confirm.jsp 389

18.3.12 完成购物 391

代码18-16 文件名:confagain.jsp 392

18.4 购物车模块的生命周期问题 392

18.5 本章难点剖析 394

18.6 小结 394

19.2 数据库模糊查询模块设计 395

19.1 模糊查询与组合查询简介 395

第19章 数据库查询模块 395

代码19-1 文件名:fuzzy_query.jsp 396

19.3 数据库模糊查询模块实现 396

代码19-2 文件名:fuzzy_query_do.jsp 397

19.4 数据库组合查询模块设计 399

19.5 数据库组合查询模块实现 400

19.5.2 组合查询业务逻辑实现 400

代码19-3 文件名:combo_query.jsp 400

19.5.1 组合查询界面设计 400

代码19-4 文件名:combo_query_do.jsp 401

19.7 小结 406

19.5.3 显示查询结果 406

19.6 本章难点剖析 406

20.1 搜索指定的网页设计思路 409

20.1.1 搜索引擎简介 409

第20章 在指定的网页上搜索关键字 409

20.1.2 设计思路 411

20.2 相关类和函数介绍 412

20.2.1 URL类简介 412

20.2.2 URLConnection类简介 413

20.2.3 HttpURLConnection类简介 414

20.2.5 ParserDelegator类简介 415

20.2.4 InputStreamReader类简介 415

20.2.6 ParserCallback类简介 415

20.3 取得指定网页内容 416

20.2.7 HTML类简介 416

20.3.1 开发HTMLparse解析类 416

20.2.8 MutableAttributeSet类简介 416

代码20-1 文件名:HTMLparse.java 417

20.3.2 获得HTTP文本流 419

代码20-2 文件名:GetHTMLData.html 419

代码20-3 文件名:GetHTMLData.jsp 420

代码20-4 文件名:Analysis.html 422

20.4 分析网页内容 422

代码20-5 文件名:Analysis.jsp 422

代码20-6 文件名:SearchInput.jsp 424

20.5 显示搜索得到的网页 424

代码20-7 文件名:Search.jsp 425

20.6 本章难点剖析 428

20.7 小结 428

21.2 在JSP页面中直接分页 429

第21章 JSP页面分页技术实现 429

21.1 分页技术设计思路 429

代码21-1 文件名:page.jsp 430

21.3 在Servlet中实现分页 433

代码21-3 文件名:userlist.jsp 434

代码21-4 文件名:web.xml 435

21.4 结合JavaBean实现分页 436

代码21-5 文件名:page.java 436

代码21-6 文件名:page_sep.jsp 438

21.5 万能的分页技术实现 440

代码21-7 文件名:select_table.jsp 440

代码21-8 文件名:pagetoall.jsp 441

21.6 根据不同的数据库实现分页技术 443

21.6.1 Oracle数据库分页 444

21.6.3 SQL Server 2000数据库分页 444

21.6.2 DB2数据库分页 444

21.6.6 PostgreSQL数据库分页 445

21.7 本章难点剖析 445

21.6.4 SQL Server 2005数据库分页 445

21.6.5 MySQL数据库分页 445

21.8 小结 446

22.2.1 采用ServletContext读文件 447

第22章 上传下载文件模块 447

22.1 上传、下载文件模块设计思路 447

22.2 在JSP中读写文件 447

代码22-1 文件名:ReadFileTest1.txt 448

代码22-2 文件名:ReadFileTest1.jsp 448

代码22-3 文件名:ReadFileTest2.txt 449

22.2.2 采用FileReader类读文件 449

代码22-4 文件名:ReadFileTest2.jsp 450

代码22-5 文件名:WriteFileTest.jsp 451

22.2.3 采用FileWriter类写文件 451

22.4 上传文件的实现 453

22.3 jspSmartUpload组件简介 453

代码22-7 文件名:UpLoad.jsp 454

代码22-6 文件名:UpLoad.html 454

代码22-8 文件名:DownLoad.html 456

22.5 下载文件的实现 456

代码22-9 文件名:DownLoad.jsp 457

22.6.1 File类:包装了上传文件的所有信息 458

22.6 jspSmartUpload常用类和函数 458

22.6.3 关于Request类:获取表单的值 459

22.6.2 Files类:所有上传文件的集合 459

22.6.4 常用函数 460

22.8 小结 461

22.7 本章难点剖析 461

23.1.2 Java Mail函数简介 463

第23章 使用JSP发送邮件 463

23.1 发送邮件模块设计思路 463

23.1.1 Java Mail简介 463

23.1.3 模块功能设计与思路 465

23.1.4 建立Java Mail的开发环境 465

代码23-1 文件名:Mail01.html 466

23.2 发送普通文本邮件 466

代码23-2 文件名:Testmail.jsp 467

23.3 发送HTML格式的邮件 469

代码23-3 文件名:Mail02.html 469

代码23-4 文件名:Testmail02.jsp 470

代码23-5 文件名:Fj.html 472

23.4 为发送的邮件添加附件内容 472

代码23-6 文件名:Testfj.jsp 473

23.5 本章难点剖析 475

23.6 小结 476

第24章 异常及日志模块 477

24.1 捕获JSP异常 477

24.1.1 通过简单的try-catch语句理解异常 477

代码24-1 文件名:String_Input.jsp 478

代码24-2 文件名:Try_catch.jsp 478

代码24-3 文件名:Catch_Finally.jsp 480

24.1.2 finally语句的运用 480

24.1.3 在JSF页面捕获多个异常 481

代码24-4 文件名:Input_Table.jsp 481

代码24-5 文件名:Mul_Exception.jsp 482

24.1.4 在配置文件中配置异常的捕获及处理 485

代码24-6 文件名:web.xml 485

代码24-9 文件名:String_Index.jsp 486

代码24-7 文件名:Type_Exception.jsp 486

代码24-8 文件名:Null_Exception.jsp 486

24.2 处理捕获到的异常 487

代码24-10 文件名:Age_Table.jsp 488

24.2.1 异常处理类的实现 488

代码24-11 文件名:Make_Exception.jsp 488

24.2.2 发生异常时的UI处理 489

代码24-12 文件名:CheckLengthException.java 490

代码24-14 文件名:UI_Exception.jsp 490

代码24-13 文件名:CheckFormatException.java 490

代码24-15 文件名:Exception_Log.jsp 494

24.3 添加异常的日志信息 494

24.4 本章难点剖析 495

24.5 小结 496

第25章 保护受限制访问的JSP资源 497

25.1 保护访问资源的必要性 497

25.2 加密传递给客户端的文字 497

代码25-1 文件名:DESede.java 498

25.2.1 采用DES算法加密文字 498

代码25-2 文件名:desede.jsp 499

25.2.2 采用MD5算法加密文字 500

代码25-3 文件名:md5.jsp 500

25.3.1 SSL协议简介 501

25.3 添加SSL认证信息 501

25.3.2 在Tomcat中添加SSL认证 502

代码25-4 文件名:server.xml 502

25.4 添加对请求的访问权限判断 503

25.4.1 控制请求的访问权限 503

代码25-5 文件名:InvalidUser.jsp 504

25.4.2 访问权限判断函数 505

25.5 本章难点剖析 505

25.6 小结 505

第26章 限制表单重复提交 507

26.1 限制表单重复提交的必要性 507

26.2 限制表单重复提交的设计思路 507

26.3.1 采用标志变量限制客户端重复提交 508

26.3 在客户端限制表单重复提交 508

代码26-1 文件名:ClientTest1.jsp 508

26.3.2 设置提交按钮状态限制客户端重复提交 509

代码26-2 文件名:ClientTest2.jsp 509

代码26-4 文件名:ServerSubmit.jsp 511

26.4 在服务器端判断表单是否重复提交 511

代码26-3 文件名:ServerTest.jsp 511

26.6 小结 513

26.5 本章难点剖析 513

第27章 综合应用——兵马俑网上商城 515

27.1 需求分析 515

27.2 创建应用项目及配置 516

27.3 数据库设计 517

27.3.1 PDM设计 517

代码27-1 文件名:server.xml 517

27.3.2 数据表结构 518

27.3.3 建立和配置数据库 519

代码27-3 文件名:goods.sql 520

代码27-2 文件名:userinfo.sql 520

代码27-5 文件名:orders.sql 521

代码27-6 文件名:orders_detail.sql 521

代码27-4 文件名:type.sql 521

27.3.4 准备测试数据 522

代码27-7 文件名:userinfo.sql 522

代码27-8 文件名:goods.sql 522

27.4 业务逻辑类设计 523

代码27-9 文件名:type.sql 523

27.5 页面框架设计 525

代码27-10 文件名:MainBMY.html 526

代码27-11 文件名:Top.html 526

27.5.1 用户框架 526

代码27-12 文件名:Left.html 527

代码27-13 文件名:AdminBMY.html 531

27.5.2 后台管理框架 531

代码27-14 文件名:LeftAdmin.html 532

27.6 公用页面 535

27.7.1 模块设计 536

27.7 商品管理模块 536

代码27-15 文件名:public.jsp 536

27.7.2 商品管理主页面 537

代码27-16 文件名:goods_list.jsp 538

代码27-17 文件名:query_result.jsp 540

27.7.3 商品查询 540

代码27-18 文件名:add_goods.jsp 542

代码27-19 文件名:submit_infor.jsp 542

27.7.4 新增商品 542

代码27-20 文件名:delete_goods.jsp 544

代码27-21 文件名:delete_confirm.jsp 544

27.7.5 删除商品 544

代码27-22 文件名:modify_goods.jsp 545

27.7.6 修改商品 545

代码27-23 文件名:submit_mod.jsp 546

27.8 商品分类管理模块 548

27.8.1 模块设计 548

代码27-24 文件名:type_list.jsp 549

27.8.2 商品分类管理主页面 549

代码27-25 文件名:add_type.jsp 551

27.8.3 新增商品分类 551

代码27-26 文件名:submit_infor.jsp 551

代码27-28 文件名:delete_confirm.jsp 553

代码27-27 文件名:delete_type.jsp 553

27.8.5 修改商品分类 553

27.8.4 删除商品分类 553

代码27-29 文件名:modify_type.jsp 554

代码27-30 文件名:submit_mod.jsp 554

27.9.1 模块设计 555

27.9 订单处理模块 555

代码27-31 文件名:orders_list.jsp 556

27.9.2 查看订单 556

代码27-32 文件名:query_result.jsp 558

27.9.3 查看订单明细 560

代码27-33 文件名:orders_detail.jsp 560

27.9.4 取消订单 561

代码27-34 文件名:remove_order.jsp 562

代码27-35 文件名:send_order.jsp 562

27.9.5 订单发货 562

代码27-36 文件名:finish_order.jsp 563

27.9.6 完成订单 563

27.11 小结 564

27.10 本章难点剖析 564

1 JSP开发技术网站 565

附录 网络资源 565

5 Spring相关网站 566

4 Hibernate相关网站 566

3 Struts相关网站 566

2 Eclipse相关网站 566