Java Web开发与实战

Java Web开发与实战
作 者: 刘伟 张利国
出版社: 科学出版社
丛编项:
版权说明: 本书为出版图书,暂不支持在线阅读,请支持正版图书
标 签: J2EE
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

  刘伟,北京大学硕士,8年Java,J2EE,J2ME开发与培训经验,资深软件架构师、软件开发管理人员,主持并参与了多个大型J2EE项目开发。张利国老师清华大学双学士,10年Java软件开发及教学经验,曾任北京新东方学校Java软件金牌讲师,荣获2004年度新东方教育科技集团优秀教师。主持和参与开发了多个J2EE大型项目。2003年出版《Java实用案例教程》一书,广受好评。两位作者主持开发的项目:·北京电信网上业务受理系统·电信资产管理系统·GSM短信平台·Infordeliver公司一路透社基于Java+XML技术的新闻软件开发项目·银河证券客户交易结算资金第三方存管(多银行模式)业务模块开发·交通部EHR项目开发

内容简介

《Java Web开发与实战》采用理论阐述与项目演示相结合的方式,全面讲解了Java Web编程所需的核心技术,并涵盖一些高级技术主题。主要内容包括Web应用程序运行原理、主流集成开发工具(Eclipse/MyEclipse)和运行环境(Tomcat)的配置和使用、Servlet、JSP、JDBC、JSP表达式语言(EL)、Servlet监听器和过滤器、定制标记库、JSTL、MVC模式、DAO设计模式、数据源和连接池、文件上传、Java Mail和分页显示、Web编程中文乱码问题及解决方案、应用程序的打包和部署等。书中还深入讲解了客户端验证框架JSValidation、在线文本编辑器FCKeditor和Apache Commons的一些类库等功能强大的实用开发工具。另外,书中提供了大量的实例代码,读者可以自由取用,这些代码功能强大,适合解决Java Web开发中的实际问题。《Java Web开发与实战》论述精准而深刻,程序实例丰富实用。《Java Web开发与实战》要求读者具备Java编程语言和HTML基础,适合用作普通高校教材或相关职业培训教材,更是Java Web初学者和程序员的首选技术参考书。

图书目录

第1章 Web开发工具的安装与使用 1

视频时长:50分钟

1.1 JDK的安装 1

1.2 Tomcat的安装和配置 2

1.2.1 下载Tomcat 3

1.2.2 修改context.xml和server.xml 3

1.2.3 修改tomcat-users.xml 4

1.2.4 启动和关闭Tomcat 4

1.2.5 Tomcat的目录结构 5

1.3 Eclipse的安装与使用 6

1.3.1 Eclipse的历史 6

1.3.2 Eclipse的架构 6

1.3.3 Eclipse版本说明 7

1.3.4 Eclipse的下载与安装 7

1.3.5 Eclipse的汉化 8

1.3.6 Eclipse的启动 8

1.3.7 Eclipse界面说明 9

1.3.8 Eclipse构建路径调整 12

1.3.9 Eclipse编译器调整 13

1.4 实例:Eclipse开发Java应用程序 13

hello项目,熟悉Eclipse的环境,体验在Eclipse中如何快速方便地进行Java应用程序的开发。

1.4.1 新建Java项目 13

1.4.2 新建HelloWorld类 14

1.4.3 增加属性与方法 15

1.4.4 格式化源程序 17

1.4.5 运行输出 17

1.4.6 调试代码 17

1.5 MyEclipse 18

1.5.1 MyEclipse概述 18

1.5.2 MyEclipse的下载 19

1.5.3 MyEclipse安装 19

1.5.4 在MyEclipse中配置Tomcat服务器 20

1.6 更多参考信息 21

第2章 Web编程技术基础 22

视频时长:1小时20分钟

2.1 Internet的起源 22

2.1.1 TCP/IP协议 23

2.1.2 TCP/IP的四层结构 23

2.1.3 Application层常用协议 24

2.2 WWW 25

2.2.1 URL 25

2.2.2 HTML 26

2.2.3 HTTP 26

2.2.4 Web服务器 26

2.2.5 浏览器 27

2.3 Web动态编程 28

2.4 Servlet 29

2.5 实例:Java Web服务器 29

webserver项目,编写一个Java Web服务器,加深对HTTP协议的认识。

2.5.1 目标 30

2.5.2 新建Java项目 30

2.5.3 新建Java文件 30

2.5.4 运行输出 33

2.6 更多参考信息 34

第3章 Servlet编程 35

视频时长:1小时40分钟

3.1 Servlet的发展 35

3.2 Servlet的结构 35

3.2.1 javax.servlet.Servlet 36

3.2.2 javax.servlet.GenericServlet 37

3.2.3 javax.servlet.http.HttpServlet 37

3.3 实例(一):编写Servlet 38

3.3.1 目标 38

3.3.2 编写Servlet源程序 38

3.3.3 建立Java Web应用目录结构 39

3.3.4 编写web.xml文件 39

3.3.5 运行Servlet 40

3.4 实例(二):使用MyEclipse开发Servlet 40

webproject1项目,演示利用MyEclipse插件如何创建Java Web项目和编写Servlet文件。

3.4.1 目标 40

3.4.2 新建Web Project 40

3.4.3 新建Servlet文件 43

3.4.4 程序解释 45

3.4.5 部署Web应用程序 45

3.4.6 运行输出 48

3.4.7 Servlet文件调试 48

3.5 Servlet生命周期描述 49

3.6 实例(三):Servlet获取初始化的参数 50

3.6.1 目标 50

3.6.2 新建GetInitParameterServlet类 50

3.6.3 运行输出 52

3.6.4 程序解释 52

3.7 实例(四):Servlet获取服务器的运行参数 52

3.7.1 目标 52

3.7.2 新建GetServerInfoServlet类 52

3.7.3 运行输出 54

3.7.4 程序解释 54

3.8 实例(五):Servlet获得头信息 55

3.8.1 目标 55

3.8.2 新建GetHeaderInfoServlet类 55

3.8.3 运行输出 56

3.8.4 程序解释 57

3.9 更多参考信息 57

第4章 Servlet处理表单数据 58

视频时长:3小时

4.1 HTML表单 58

4.1.1 Form 58

4.1.2 Input text 59

4.1.3 Input password 59

4.1.4 Input radio 59

4.1.5 Input checkbox 60

4.1.6 Select单选 60

4.1.7 Select多选 61

4.1.8 Textarea 61

4.1.9 Submit按钮 62

4.1.10 Reset按钮 63

4.2 Servlet接收HTML表单信息 63

4.3 实例(一):Servlet处理HTML表单数据(1) 63

webproject2项目,演示如何通过HttpServletRequest对象的getParameter方法获取客户浏览器发送过

来的表单数据。

4.3.1 目标 63

4.3.2 新建webproject2项目 64

4.3.3 新建LoginFormServlet 64

4.3.4 运行输出 65

4.3.5 程序解释 66

4.3.6 解决表单中文参数乱码问题 66

4.4 实例(二):Servlet处理HTML表单数据(2) 67

4.4.1 目标 67

4.4.2 新建login.htm 67

4.4.3 新建LoginServlet.java 69

4.4.4 运行输出 70

4.4.5 程序解释 70

4.5 实例(三):网络调查表(1) 70

4.5.1 目标 70

4.5.2 新建survey.htm 70

4.5.3 新建SurveyServlet 73

4.5.4 运行输出 74

4.5.5 程序解释 75

4.6 实例(四):网络调查表(2) 76

4.6.1 目标 76

4.6.2 新建survey2.htm 76

4.6.3 新建SurveyServlet2 77

4.6.4 运行输出 78

4.6.5 程序解释 79

4.7 客户端验证表单输入内容 79

4.8 实例(五):HTML表单增加JavaScript验证 79

4.8.1 目标 79

4.8.2 新建login2.htm 79

4.8.3 运行输出 80

4.8.4 程序解释 81

4.9 JSValidation验证框架 81

4.9.1 下载JSValidation 82

4.9.2 validation-config.xml解释 82

4.10 实例(六):使用JSValidation验证框架 84

4.10.1 目标 84

4.10.2 JSvalidation配置 84

4.10.3 编写survey3.htm 85

4.10.4 编写validation-config.xml文件 85

4.10.5 运行输出 86

4.10.6 程序解释 87

4.11 FCKeditor 87

4.11.1 FCKeditor主要功能特性 87

4.11.2 下载FCKeditor 88

4.11.3 FCKeditor的使用 88

4.12 实例(七):使用FCKeditor 89

fckeditordemo项目,演示FCKeditor组件的使用。

4.12.1 新建fckeditordemo项目 89

4.12.2 新建addContent.htm 90

4.12.3 新建AddContentServlet 91

4.12.4 运行输出 92

4.12.5 FCKeditor类说明 92

4.12.6 FCKeditor组件文件精简 93

4.13 更多参考信息 94

第5章 JDBC、连接池与数据源 95

视频时长:3小时30分钟

5.1 JDBC的历史 95

5.2 JDBC概述 96

5.3 JDBC驱动程序 97

5.4 实例(一):安装和配置Oracle的JDBC驱动程序 97

5.4.1 目标 97

5.4.2 获得Oracle驱动程序 97

5.4.3 配置Oracle驱动程序 97

5.5 JDBC编程 98

5.5.1 建立数据库连接 98

5.5.2 向数据库中提交SQL 99

5.5.3 处理数据库返回的结果 100

5.5.4 释放数据库连接 101

5.6 实例(二):JDBC操作Oracle数据库的例子 102

jdbcexample项目,操作Oracle数据库的例子。

5.6.1 目标 102

5.6.2 建表 102

5.6.3 新建项目与JDBCExample.java文件 102

5.7 实例(三):网络留言本 V1.0 104

guestbook v1.0项目,通过使用JDBC、HTML和Servlet技术,实现网络留言本。

5.7.1 目标 104

5.7.2 建表与建序列 104

5.7.3 新建guestbook项目 105

5.7.4 项目核心文件列表 106

5.7.5 修改validation-framework.js文件 106

5.7.6 编辑jsvalidation-config.xml 106

5.7.7 编辑addMessage.htm 107

5.7.8 编辑StringUtil.java 109

5.7.9 编辑AddMessageServlet.java 110

5.7.10 编辑GetMessagesServlet.java 112

5.7.11 运行输出 114

5.8 数据库连接池 115

5.9 实例(四):编写JDBC连接池程序 116

pooling项目,演示如何编写实现一个数据库连接池。

5.9.1 目标 116

5.9.2 待解决的核心问题 117

5.9.3 新建pooling项目 117

5.9.4 编辑dbpool.properties 117

5.9.5 编辑ConnectionPool.java 117

5.9.6 编辑ConnectionPoolTest.java 120

5.9.7 运行输出 121

5.9.8 程序待改进的地方 121

5.10 JDBC数据源 122

5.11 实例(五):配置Tomcat的连接池和数据源 122

5.12 实例(六):网络留言本 V1.1 123

guestbook v1.1项目,修改网络留言本,把获得数据库连接的方式改造成通过连接池获取数据库连接。

5.12.1 目标 123

5.12.2 新建guestbook2项目 123

5.12.3 修改Java Build Path 124

5.12.4 修改validation-framework.js文件 124

5.12.5 修改addMessage.htm文件 124

5.12.6 修改AddMessageServlet.java 124

5.12.7 修改GetMessagesServlet.java 125

5.12.8 运行输出 125

5.13 Commons DbUtils 126

5.13.1 DbUtils类 126

5.13.2 ResultSetHandler 接口 127

5.13.3 MapListHandler类 127

5.13.4 BeanListHandler类 127

5.13.5 QueryRunner 类 127

5.13.6 DbUtil使用例子 128

5.14 实例(七):网络留言本 V1.2 131

guestbook v1.2项目,修改网络留言本,把操作数据库的代码修改成使用DbUtils类库。

5.14.1 目标 131

5.14.2 新建guestbook3项目 131

5.14.3 修改addMessage.htm文件 131

5.14.4 修改AddMessageServlet.java 131

5.14.5 修改GetMessagesServlet.java 133

5.14.6 运行输出 135

5.15 更多内容 135

第6章 Servlet处理Cookie 136

视频时长:51分钟

6.1 Cookie是什么 136

6.2 Cookie的典型应用 137

6.2.1 实现“记住我”功能 137

6.2.2 定制个性化页面 138

6.2.3 记录用户访问动作 138

6.3 Cookie的运行机制 139

6.4 使用Cookie的注意事项 139

6.5 Cookie编程 139

6.5.1 生成Cookie对象 139

6.5.2 设定Cookie对象有效期 140

6.5.3 设定Cookie对象的路径与域名 140

6.5.4 发送Cookie对象 140

6.5.5 读取Cookie对象 141

6.5.6 修改Cookie 141

6.5.7 删除Cookie 142

6.6 实例:Servlet中Cookie的编程 142

webproject3项目,演示Java Web编程中关于Cookie的核心代码。

6.6.1 目标 142

6.6.2 新建项目 142

6.6.3 编辑cookieInput.htm 142

6.6.4 编辑SetCookiesServlet.java 143

6.6.5 编辑GetCookiesServlet.java 144

6.6.6 运行输出 145

第7章 Servlet会话编程 147

视频时长:1小时50分钟

7.1 会话是什么 147

7.2 会话的典型应用 148

7.2.1 网店中的购物车功能 148

7.2.2 用户权限控制 148

7.2.3 跨Servlet/JSP传递参数 149

7.3 会话的底层实现方式 149

7.4 Servlet 会话编程 149

7.5 实例(一):演示会话对象的使用 150

webproject4项目,演示HttpSession类提供的主要方法。

7.5.1 目标 150

7.5.2 新建项目 150

7.5.3 编辑DemoSessionServlet 151

7.5.4 运行输出 152

7.6 实例(二):使用会话实现网络购物车 153

shoppingcart项目,演示如何使用会话功能实现网络购物车功能。

7.6.1 目标 153

7.6.2 功能说明 153

7.6.3 新建项目 154

7.6.4 编辑CartItem.java 154

7.6.5 编辑ShoppingCart.java 155

7.6.6 编辑AddShoppingCartServlet.java 157

7.6.7 编辑GetShoppingCartServlet.java 159

7.6.8 编辑displayItems.htm 161

7.6.9 运行输出 163

7.6.10 需要改进的地方 164

第8章 JavaServer Pages(JSP) 165

视频时长:2小时49分钟

8.1 JavaServer Pages的起源 165

8.2 JSP与Servlet的关系 165

8.3 实例(一):开发第一个JSP页面 166

webproject5项目,演示如何使用Eclipse和MyEclipse开发JSP页面,同时实现了两种风格的网页计数器。

8.3.1 目标 166

8.3.2 新建Webproject项目 166

8.3.3 新建first.jsp文件 166

8.3.4 JSP页面的可视化编辑 167

8.3.5 运行输出 168

8.3.6 代码解释 168

8.4 JSP内部运行机制 169

8.5 JSP语法 173

8.5.1 JSP代码注释 173

8.5.2 指令(Directive)标记 174

8.5.3 声明(Declaration)标记 176

8.5.4 Scriptlet标记 177

8.5.5 表达式(Expression)标记 177

8.6 实例(二):JSP语法演示 177

8.6.1 目标 177

8.6.2 新建JSP文件 177

8.6.3 运行输出 179

8.7 动作(action) 179

8.7.1 动作 180

8.7.2 动作 181

8.8 JSP内置对象 182

8.8.1 out对象 182

8.8.2 request对象 183

8.8.3 response对象 183

8.8.4 session对象 183

8.8.5 application对象 183

8.8.6 page对象 184

8.8.7 pageContext对象 184

8.8.8 exception对象 185

8.8.9 config对象 185

8.9 实例(三):网页计数器V1.0 185

8.9.1 目标 185

8.9.2 编辑count.jsp页面 186

8.9.3 程序解释 186

8.9.4 运行输出 186

8.10 实例(四):网页计数器V1.1 187

8.10.1 目标 187

8.10.2 准备数字图形文件 187

8.10.3 编辑count2.jsp页面 187

8.10.4 编辑CountFileHandler.java 188

8.10.5 运行输出 189

8.11 实例(五):Web应用错误处理解决方案 189

8.11.1 目标 189

8.11.2 HTTP常见错误代码 190

8.11.3 设置web.xml 190

8.11.4 运行输出 192

8.12 实例(六):网络留言本 V1.3 192

guestbook v1.3项目,完全使用JSP技术实现网络留言本。

8.12.1 目标 192

8.12.2 新建guestbook4项目 192

8.12.3 项目核心文件列表 193

8.12.4 编辑header.jsp 193

8.12.5 编辑footer.htm 194

8.12.6 编辑addMessage.jsp 194

8.12.7 编辑addMessageHandler.jsp 196

8.12.8 编辑getMessages.jsp 197

8.12.9 运行输出 199

8.13 更多参考信息 199

第9章 JavaBeans 200

视频时长:2小时40分钟

9.1 引入JavaBeans 200

9.2 JavaBeans的编写 201

9.3 useBean动作 202

9.4 setProperty动作 203

9.5 getProperty动作 203

9.6 JavaBeans对象的作用范围 203

9.6.1 page Scope 204

9.6.2 request Scope 204

9.6.3 session Scope 205

9.6.4 application Scope 205

9.7 使用JavaBeans的好处 206

9.8 实例(一):JSP页面使用JavaBeans 207

webproject6项目,演示如何在JSP页面中运用JavaBeans。

9.8.1 目标 207

9.8.2 新建项目 207

9.8.3 新建Book.java 207

9.8.4 编辑book.htm 207

9.8.5 编辑displayBook.jsp 208

9.8.6 运行输出 209

9.9 实例(二):网络留言本 V1.4 209

guestbook v1.4项目,使用JSP和JavaBeans技术实现网络留言本。

9.9.1 目标 209

9.9.2 新建guestbook5项目 209

9.9.3 项目核心文件列表 210

9.9.4 新建OracleUtil.java 210

9.9.5 新建Guestbook.java 212

9.9.6 修改addMessageHandler.jsp 213

9.9.7 编辑getMessages.jsp 214

9.9.8 运行输出 216

9.9.9 项目需要改进的地方 216

9.10 Commons BeanUtils 216

9.10.1 Commons BeanUtils的下载 217

9.10.2 实例(三):使用BeanUtils的例子 217

9.10.3 访问JavaBeans属性 223

9.10.4 设定JavaBeans属性 224

9.10.5 复制JavaBeans对象的属性 224

9.10.6 动态创建JavaBeans对象 224

9.10.7 ResultSetDynaClass 226

9.10.8 RowSetDynaClass 227

9.10.9 RowSetDynaClass与MapListHandler的比较 228

9.11 更多参考信息 229

第10章 MVC模式 230

视频时长:54分钟

10.1 JSP Model 1 230

10.2 JSP Model 2 231

10.3 MVC架构模式 232

10.3.1 视图(View) 232

10.3.2 模型(Model) 232

10.3.3 控制器(Controller) 232

10.3.4 MVC的优缺点 233

10.4 实例:网络留言本 V1.5 233

guestbook v1.5项目,使用MVC模式,运用JSP、Servlet和JavaBeans技术实现网络留言本。

10.4.1 目标 233

10.4.2 新建guestbook6项目 233

10.4.3 项目核心文件列表 234

10.4.4 修改AddMessageServlet.java 234

10.4.5 修改GetMessagesServlet.java 236

10.4.6 修改addMessage.jsp 236

10.4.7 修改GetMessages.jsp 237

10.4.8 新建addResult.jsp 237

10.4.9 运行输出 237

10.4.10 程序运行流程分析 237

10.4.11 两种转向的区别 238

10.5 基于MVC的Web开发框架 240

10.5.1 Struts 240

10.5.2 WebWork 240

10.5.3 Spring MVC 240

10.6 更多参考信息 241

第11章 JSP Expression Language 242

视频时长:1小时06分钟

11.1 JSP EL的基本用法 242

11.2 JSP EL运算符 243

11.3 使用JSP EL读取JavaBeans属性 243

11.4 JSP EL内置对象 245

11.4.1 作用范围相关对象 245

11.4.2 param或paramValues对象 245

11.4.3 header或headerValues对象 245

11.4.4 cookie内置对象 245

11.4.5 initParam对象 246

11.4.6 pageContext对象 246

11.5 设定JSP不使用JSP EL 246

11.6 实例:演示JSP EL的用法 246

webproject7项目,演示JSP EL的用法。

11.6.1 目的 246

11.6.2 新建Web项目 247

11.6.3 编辑elExample1.jsp 247

11.6.4 编辑elExample2.jsp 248

11.6.5 编辑elExample3.jsp 250

11.6.6 编辑elExample4.jsp 251

11.6.7 编辑elExample5.jsp 252

11.6.8 编辑elExample6.jsp 254

11.6.9 编辑elExample7.jsp 255

11.6.10 编辑elExample8.jsp 257

11.6.11 编辑elExample9.jsp 258

11.6.12 编辑elExample10.jsp 258

11.6.13 修改web.xml 259

第12章 定制标记库 260

视频时长:1小时20分钟

12.1 定制标记库概述 260

12.2 实例(一):编写测量代码运行时间的定制标记 261

webproject8项目,演示编写定制标记库的基本步骤和方法。

12.2.1 目标 261

12.2.2 新建Web项目 261

12.2.3 编辑TimerTag.java 261

12.2.4 编辑util.tld文件 263

12.2.5 编辑timerTag.jsp 263

12.2.6 运行输出 264

12.3 为定制标记增加属性 264

12.4 实例(二):编写显示日期时间的标记 265

12.4.1 目标 265

12.4.2 编辑DateTimeTag.java 265

12.4.3 修改util.tld文件 266

12.4.4 编辑dateTimeTag.jsp 267

12.4.5 运行输出 267

12.5 实例(三):编写循环执行的定制标记 267

12.5.1 目标 267

12.5.2 编辑LoopTag.java 268

12.5.3 修改util.tld 268

12.5.4 编辑loopTag.jsp 269

12.5.5 运行输出 269

12.6 定制标记运行原理 270

12.6.1 JspTag接口 270

12.6.2 Tag接口 270

12.6.3 IterationTag接口 271

12.6.4 TagSupport类 271

12.7 BodyTag接口 272

12.8 BodyTagSupport类 273

12.9 实例(四):编写过滤HTML代码的标记 274

12.9.1 目标 274

12.9.2 编辑FilterHtmlTag.java 274

12.9.3 修改util.tld 275

12.9.4 运行输出 275

12.10 脚本变量 276

12.10.1 使用TagExtraInfo的方式 276

12.10.2 设置元素 277

12.10.3 两种设置脚本变量的比较 278

12.11 实例(五):编写使用Cookie的定制标记 278

12.11.1 目标 278

12.11.2 编辑CookieTag.java 278

12.11.3 编辑CookieTei.java 279

12.11.4 修改tld文件 280

12.11.5 编辑cookieTag.jsp 280

12.11.6 运行输出 281

12.12 SimpleTag 281

12.13 SimpleTagSupport 282

12.14 实例(六):编写实现过滤HTML的标记V1.1 282

12.14.1 目标 282

12.14.2 编辑FilterHtmlSimpleTag.java 282

12.14.3 配置TLD文件 283

12.14.4 编辑filterHtmlSimpleTag.jsp 283

12.14.5 运行输出 284

12.15 标记处理类编写小结 284

12.16 Tag文件 285

12.16.1 编写Tag文件 285

12.16.2 Tag文件可以使用的指令 286

12.17 标记库打包 291

12.18 常用开源定制标记库介绍 292

12.18.1 JSTL 292

12.18.2 Jakarta Taglibs 292

12.18.3 Display tag 292

第13章 JSTL 294

视频时长:2小时14分钟

13.1 JSTL概述 294

13.2 下载安装JSTL 295

13.3 Core标记库 296

13.3.1 标记 296

13.3.2 标记 297

13.3.3 标记 298

13.3.4 标记 299

13.3.5 标记 300

13.3.6 标记 300

13.3.7 标记 301

13.3.8  301

13.3.9 标记 302

13.3.10 标记 304

13.3.11 标记 305

13.3.12 标记 306

13.3.13 标记 307

13.4 Format标记库 308

13.4.1 国际化 308

13.4.2 标记 308

13.4.3 标记 309

13.4.4 标记 309

13.4.5 标记 310

13.4.6 标记 311

13.4.7  标记 312

13.4.8 标记 314

13.4.9 标记 315

13.4.10 标记 316

13.4.11 标记 316

13.4.12 标记 318

13.4.13 标记 318

13.5 XML标记库 318

13.5.1 标记 319

13.5.2 标记 321

13.6 SQL标记库 323

13.6.1 标记 323

13.6.2 标记 324

13.6.3  标记 326

13.6.4  标记 326

13.6.5 标记 327

13.6.6 标记 329

13.7 Functions标记库 330

13.8 实例:网络留言本 V1.6 331

guestbook v1.6项目,改进网络留言本,在JSP页面中使用JSP EL和JSTL 的Core标记库。

13.8.1 目标 331

13.8.2 新建guestbook7项目 332

13.8.3 修改header.jsp 332

13.8.4 修改addMessage.jsp 332

13.8.5 修改addResult.jsp 332

13.8.6 修改getMessages.jsp 333

13.8.7 运行输出 334

13.9 更多参考信息 334

第14章 Servlet监听器 335

视频时长:32分钟

14.1 概述 335

14.2 HttpSession监听器接口 335

14.2.1 HttpSessionListener 335

14.2.2 HttpSessionAttributeListener 336

14.2.3 HttpSessionBindingListener 336

14.2.4 HttpSessionActivationListener 337

14.3 实例:统计网站在线人数 337

webproject10项目,演示如何编写能够实时统计当前网站在线人数的程序。

14.3.1 目标 337

14.3.2 新建项目 337

14.3.3 编辑CounterListener.java 337

14.3.4 编辑web.xml 338

14.3.5 编辑display.jsp 338

14.3.6 运行输出 339

14.4 ServletContext监听器接口 339

14.4.1 ServletContextListener 339

14.4.2 ServletContextAttributeListener 339

14.5 HttpServletRequest监听器 340

14.5.1 ServletRequestListener 340

14.5.2 ServletRequestAttributeListener 340

第15章 Servlet过滤器 342

视频时长:2小时15分钟

15.1 概述 342

15.2 javax.servlet.Filter接口 343

15.2.1 init()方法 343

15.2.2 destroy()方法 343

15.2.3 doFilter()方法 344

15.3 配置过滤器 344

15.4 过滤器的用途 344

15.5 实例(一):使用过滤器设定传输参数编码 345

webproject11项目,使用Servlet过滤器技术,编写能解决页面传递中文参数乱码问题的程序。

15.5.1 目标 345

15.5.2 新建项目 345

15.5.3 编辑EncodingFilter.java 345

15.5.4 编辑web.xml 346

15.5.5 编辑index.jsp 346

15.5.6 运行输出 347

15.6 实例(二):网络留言本 V1.7 348

guestbook v1.7项目,改进网络留言本,使用Servlet过滤器来实现对留言内容的管理功能。

15.6.1 目标 348

15.6.2 新增admin表 348

15.6.3 新建guestbook8项目 348

15.6.4 编辑AdminUserServlet.java 349

15.6.5 编辑AuthenticationFilter.java 351

15.6.6 编辑ManageServlet.java 352

15.6.7 编辑login.jsp 354

15.6.8 修改validation-config.xml 355

15.6.9 编辑loginFail.jsp 355

15.6.10 编辑list.jsp 356

15.6.11 编辑edit.jsp 357

15.6.12 编辑updateResult.jsp 358

15.6.13 编辑deleteResult.jsp 359

15.6.14 修改web.xml 359

15.6.15 运行输出 360

第16章 文件上传与邮件发送 361

视频时长:1小时52分钟

16.1 文件上传 361

16.2 实例(一):使用FileUpload实现文件上传 362

webproject12项目,演示Apache Commons FileUpload组件实现文件上传,同时演示了使用Apache Commons EMail组件实现邮件发送。

16.2.1 目的 362

16.2.2 新建webproject12项目 362

16.2.3 编辑uploadFile.jsp 362

16.2.4 编辑UploadServlet.java 363

16.2.5 编辑uploadResult.jsp 365

16.2.6 修改web.xml文件 365

16.2.7 程序运行 365

16.3 JavaMail 366

16.3.1 JavaMail下载与安装 367

16.3.2 JavaMail核心类 367

16.4 实例(二):编写邮件发送程序V1.0 369

16.4.1 目标 369

16.4.2 编辑SendMail.java 369

16.4.3 程序运行 370

16.5 实例(三):编写邮件发送程序 V1.1 370

16.5.1 目标 370

16.5.2 下载Apache Commons Email组件 370

16.5.3 编辑sendMail.jsp 370

16.5.4 编辑SendMailServlet.java 371

16.5.5 编辑sendResult.jsp 372

16.5.6 运行输出 372

16.6 实例(四):编写邮件发送程序V1.2 373

16.6.1 目标 373

16.6.2 编辑SendAttachmentMailServlet.java 373

16.6.3 新建sendAttachmentMail.jsp 375

16.6.4 修改web.xml文件 375

16.6.5 程序运行 376

16.7 更多参考信息 376

第17章 DAO设计模式与分页显示 377

视频时长:3小时05分钟

17.1 DAO设计模式 377

17.1.1 DAO模式的实现 377

17.1.2 DAO模式的优势 380

17.2 分页显示 381

17.2.1 Displaytag标记库 381

17.2.2 超大记录数的分页显示 385

17.2.3 Pager标记库 391

17.3 实例:网络留言本V1.8 393

guestbook v1.8项目,改进网络留言本,使用DAO设计模式、Displaytag和Pager标记库实现留言的分页显示。

17.3.1 目标 393

17.3.2 新建guestbook9项目 393

17.3.3 修改GuestbookDAO.java 394

17.3.4 修改GuestbookDAOJdbc.java 394

17.3.5 编写Admin.java 394

17.3.6 编写AdminDAO.java 395

17.3.7 编写AdminDAOJdbc.java 395

17.3.8 修改AddMessageServlet.java 396

17.3.9 修改GetMessagesServlet.java 397

17.3.10 修改AdminUserServlet.java 398

17.3.11 修改ManageServlet.java 398

17.3.12 修改list.jsp 401

17.3.13 修改getMessages.jsp 401

17.3.14 修改web.xml 403

17.3.15 运行输出 403

17.4 更多的参考信息 403

第18章 解决中文乱码 404

视频时长:43分钟

18.1 字符集与编码方法 404

18.1.1 字符集(Character Set) 404

18.1.2 字符编码 404

18.1.3 ASCII 405

18.1.4 ISO8859-1 406

18.1.5 GB2312 406

18.1.6 GBK 406

18.1.7 GB18030 407

18.1.8 BIG5 407

18.1.9 Unicode 407

18.2 Java中字符的表示与处理 409

18.3 Java Web编程中文乱码解决方法 409

18.3.1 调用JSP页面显示乱码 409

18.3.2 调用Servlet页面显示乱码 410

18.3.3 POST表单传递参数乱码 411

18.3.4 URI方式传递参数乱码 412

18.3.5 Properties文件乱码 413

18.4 更多参考信息 413

第19章 Web应用与web.xml 414

视频时长:20分钟

19.1 Web应用 414

19.1.1 Web应用的目录结构 414

19.1.2 Web应用打包 415

19.2 web.xml文件 416

19.2.1 web.xml的元素说明 417

19.2.2 Web应用初始化 420