第1章 Web开发技术概述 1
1.1 Web技术的发展 1
1.1.1静态文档 1
1.1.2动态网页 1
1.1.3 Web 2.0 2
1.2常见应用系统的体系结构 2
1.2.1 C/S结构 2
1.2.2 B/S结构 3
1.3 Web服务器端开发技术 4
1.3.1 ASP.NET技术 4
1.3.2 PHP技术 5
1.3.3 JSP技术 5
1.4 Web客户端开发技术 5
1.4.1 CSS 6
1.4.2 JavaScript 6
1.4.3 XML 6
1.4.4 AJAX 6
1.4.5 DOM和DHTML 7
1.4.6 HTML 5 7
1.5用MyEclipse开发Web应用程序 7
1.5.1创建 MyEclipse Web项目 8
1.5.2创建文件 8
1.5.3配置Tomcat应用程序服务器 9
1.5.4部署和测试Web应用程序 9
1.6对Web开发初学者的建议 11
第2章 JSP基本语法 13
2.1 JSP中的HTML代码 13
2.1.1 HTML常用标签 13
2.1.2 HTML的表单 18
2.2 JSP简介 21
2.3 JSP脚本及注释 21
2.3.1 JSP的声明语句 21
2.3.2 JSP的可执行脚本 22
2.3.3 JSP的表达式 22
2.3.4 JSP的注释语句 23
2.4 JSP的操作指令 24
2.4.1 page指令 24
2.4.2 include指令 25
2.4.3 taglib指令 27
2.5 JSP的动作标签 27
2.5.1 <jsp:include>动作标签 27
2.5.2 <jsp:forward>动作标签 28
2.5.3 <jsp:param>动作标签 28
2.6 JSP的内置对象 29
2.6.1 out对象 29
2.6.2 request对象 30
2.6.3 response对象 33
2.6.4 session对象 35
2.6.5 application对象 37
2.6.6 cookie 39
同步训练 41
第3章 深入JSP 42
3.1 JavaBean 42
3.1.1编写JavaBean 42
3.1.2使用JavaBean 43
3.2 Servlet 46
3.2.1 Servlet概念 46
3.2.2 Servlet生命周期 47
3.2.3 Servlet编程接口 48
3.2.4编写和部署Servlet 49
3.2.5 Servlet过滤器 51
3.3 JDBC 53
3.3.1 JDBC工作原理 53
3.3.2 JDBC接口 54
3.3.3连接数据库 58
3.3.4数据库连接池 59
3.4 JSP MVC编程 62
3.4.1 MVC设计思想 62
3.4.2 MVC模式实现 63
3.5 JSP的错误处理 67
3.6案例1:用JSP编写留言板程序 69
3.6.1功能分析 69
3.6.2数据库结构 70
3.6.3实现PO类 71
3.6.4 DAO接口设计 71
3.6.5数据库连接和DAO实现类 72
3.6.6页面设计 76
同步训练 83
第4章 Struts 2基础 84
4.1认识Struts 2 84
4.2创建Struts 2应用程序 84
4.2.1 Struts 2开发步骤 84
4.2.2扩展ActionSupport类 89
4.3接收用户输入 90
4.3.1属性驱动 90
4.3.2模型驱动 92
4.3.3实现ModelDriven 93
4.4跟踪用户状态 94
4.4.1利用非IoC方式跟踪用户状态 94
4.4.2利用IoC方式跟踪用户状态 98
4.5 MyEclipse提供的Struts 2添加向导 99
同步训练 101
第5章 深入Struts 2 102
5.1 Struts 2的工作原理 102
5.2 Struts 2的配置文件 104
5.2.1 Struts 2的配置文件介绍 104
5.2.2 struts.xml的结构 104
5.2.3 constant(常量)配置 105
5.2.4 package(包)配置 106
5.2.5 namespace(命名空间)配置 107
5.2.6 include(包含)配置 108
5.3配置Action 109
5.3.1使用method属性 109
5.3.2动态方法调用 110
5.3.3使用通配符 111
5.3.4利用静态参数给Action传递值 112
5.3.5默认的Action 113
5.4配置result 113
5.4.1 result映射与结果类型 113
5.4.2 dispatcher类型 114
5.4.3 redirect类型 116
5.4.4 redirectAction类型 118
5.4.5 chain类型 119
5.4.6 plainText类型 120
5.4.7全局result 121
5.5异常映射 122
5.6案例2:用Struts 2改写留言板的数据模型 124
同步训练 127
第6章 Struts 2的标签库 128
6.1 OGNL表达式 128
6.1.1 ActionContext和Value Stack 128
6.1.2访问Value Stack中的元素 129
6.1.3访问Stack Context中的对象 129
6.1.4访问静态属性和静态方法 130
6.1.5访问集合元素 130
6.1.6 OGNL中的三个重要符号 131
6.2标签库 132
6.2.1使用标签库的好处 132
6.2.2 Struts 2的标签库 133
6.3数据标签 133
6.3.1 debug标签 133
6.3.2 property标签 133
6.3.3 param标签 134
6.3.4 action标签 135
6.3.5 bean标签 136
6.3.6 set标签 137
6.3.7 push标签 138
6.3.8 url与a标签 139
6.3.9 include标签 141
6.3.10 date标签 142
6.4控制标签 143
6.4.1 if、elseif和else标签 143
6.4.2 iterator标签 144
6.4.3 append标签和merge标签 147
6.4.4 generator标签 148
6.4.5 subset标签 150
6.4.6 sort标签 152
6.5表单标签 153
6.5.1表单标签的公共属性 153
6.5.2 form标签 154
6.5.3 textfield、 password和hidden标签 155
6.5.4 textarea标签 155
6.5.5 reset标签 156
6.5.6 submit标签 156
6.5.7 checkbox标签 157
6.5.8 checkboxlist和radio标签 158
6.5.9 select标签 159
6.5.10 optgroup标签 161
6.5.11 combobox标签 162
6.5.12 updownselect标签 162
6.5.13 doubleselect标签 163
6.5.14 optiontransferselect标签 165
6.5.15其他UI标签 167
6.6 actionerror、 actionmessage和fielderror标签 167
6.7模板和主题 169
6.8案例3:用Struts 2标签库改写留言板的视图 171
同步训练 174
第7章 拦截器 175
7.1 Struts 2拦截器 175
7.2自定义拦截器 176
7.3拦截器的配置和使用 178
7.4 PreResultListener接口 182
7.5案例4:利用拦截器为留言板增加身份验证功能 183
同步训练 185
第8章 文件的上传和下载 186
8.1文件的上传 186
8.1.1文件上传概述 186
8.1.2限制上传文件长度和内容类型 187
8.1.3上传单个文件 188
8.1.4上传多个文件 190
8.2文件的下载 192
8.2.1文件下载概述 192
8.2.2 stream结果类型 192
8.2.3文件下载实例 193
8.3案例5:为留言板程序添加附件功能 195
8.3.1为留言板添加上传附件功能 195
8.3.2为留言板添加下载附件功能 198
同步训练 200
第9章 输入验证 201
9.1输入验证概述 201
9.2验证配置文件的结构 202
9.3 Struts 2内置的验证器 203
9.3.1 required验证器 204
9.3.2 requiredstring验证器 204
9.3.3 int、long和short验证器 205
9.3.4 double验证器 206
9.3.5 date验证器 207
9.3.6 expression验证器 207
9.3.7 fieldexpression验证器 208
9.3.8 regex验证器 209
9.3.9 email验证器 209
9.3.10 url验证器 210
9.3.11 conversion验证器 211
9.3.12 stringlength验证器 211
9.3.13 visitor验证器 212
9.3.14 conditionalvisitor验证器 215
9.4短路验证 216
9.5手工验证 217
9.6案例6:为留言板的注册程序添加输入验证 218
9.6.1自定义字段验证器类 218
9.6.2编写验证文件 220
同步训练 221
第10章 消息处理与国际化 222
10.1国际化和本地化 222
10.1.1国际化概述 222
10.1.2 Java对国际化的支持 222
10.1.3资源的参数化 225
10.2 Struts 2对国际化的支持 226
10.3 Struts 2访问国际化资源的方式 228
10.3.1在Action中访问国际化资源 228
10.3.2在JSP页面中访问国际化资源 229
10.3.3在表单标签的属性中访问国际化资源 231
10.4案例7:为留言板程序添加国际化支持 232
10.4.1编写资源文件 232
10.4.2 JSP页面的国际化 233
10.4.3校验信息的国际化 235
同步训练 238
第11章 类型转换 239
11.1类型转换概述 239
11.1.1 Struts 2内置的类型转换器 239
11.1.2类型转换时装配对象的原则 241
11.2复杂对象类型的转换 241
11.2.1数组和List的类型转换 241
11.2.2 Map的类型转换 245
11.3自定义类型转换器 248
11.3.1开发自定义类型转换器 248
11.3.2配置类型转换器 252
11.4类型转换中的错误处理 253
同步训练 254
第12章 注解 255
12.1注解概述 255
12.2约定 256
12.3利用注解代替struts.xml 257
12.3.1@Action和@Actions 257
12.3.2@Result和@Results 259
12.3.3@Namespace 260
12.3.4@ResultPath注解 261
12.3.5@ParentPackage 261
12.3.6@InterceptorRef和@InterceptorRefs注解 262
12.3.7@ ExceptionMapping和@ExceptionMappings注解 262
12.4案例8:利用注解配置留言板程序 263
同步训练 268
第13章 整合JQuery 269
13.1 JQuery语法 269
13.1.1 JQuery简介 269
13.1.2 JQuery选择器 269
13.1.3常用的JQuery属性方法 271
13.1.4常用的JQuery事件方法 271
13.2利用JQuery实现客户端验证 274
13.3利用JQuery实现AJAX 277
13.3.1 JSON 277
13.3.2 JQuery的AJAX方法 278
13.3.3调用Action返回JSON字符串 280
13.3.4调用Action返回List 282
同步训练 284
附录A MyEclipse常用的快捷键 285
附录B EL表达式 286
参考文献 289