图书目录

第1章Web开发技术概述1

1.1Web技术的发展1

1.1.1静态文档1

1.1.2动态网页1

1.1.3Web 2.02

1.2常见应用系统的体系结构2

1.2.1C/S结构2

1.2.2B/S结构3

1.3Web服务器端开发技术4

1.3.1ASP.NET技术4

1.3.2PHP技术5

1.3.3JSP技术5

1.4Web客户端开发技术5

1.4.1CSS6

1.4.2JavaScript6

1.4.3XML6

1.4.4AJAX6

1.4.5DOM和DHTML7

1.4.6HTML 57

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.1JSP中的HTML代码13

2.1.1HTML常用标签13

2.1.2HTML的表单18

2.2JSP简介21

2.3JSP脚本及注释21

2.3.1JSP的声明语句21

2.3.2JSP的可执行脚本22

2.3.3JSP的表达式22

2.3.4JSP的注释语句23

2.4JSP的操作指令24

2.4.1page指令24

2.4.2include指令25

2.4.3taglib指令27

2.5JSP的动作标签27

2.5.1<jsp:include>动作标签27

2.5.2<jsp:forward>动作标签28

2.5.3<jsp:param>动作标签28

2.6JSP的内置对象29

2.6.1out对象29

2.6.2request对象30

2.6.3response对象33

2.6.4session对象35

2.6.5application对象37

2.6.6cookie39

同步训练41

第3章深入JSP42

3.1JavaBean42

3.1.1编写JavaBean42

3.1.2使用JavaBean43

3.2Servlet46

3.2.1Servlet概念46

3.2.2Servlet生命周期47

3.2.3Servlet编程接口48

3.2.4编写和部署Servlet49

3.2.5Servlet过滤器51

3.3JDBC53

3.3.1JDBC工作原理53

3.3.2JDBC接口54

3.3.3连接数据库58

3.3.4数据库连接池59

3.4JSP MVC编程62

3.4.1MVC设计思想62

3.4.2MVC模式实现63

3.5JSP的错误处理67

3.6案例1: 用JSP编写留言板程序69

3.6.1功能分析69

3.6.2数据库结构70

3.6.3实现PO类71

3.6.4DAO接口设计71

3.6.5数据库连接和DAO实现类72

3.6.6页面设计76

同步训练83

第4章Struts 2基础84

4.1认识Struts 284

4.2创建Struts 2应用程序84

4.2.1Struts 2开发步骤84

4.2.2扩展ActionSupport类89

4.3接收用户输入90

4.3.1属性驱动90

4.3.2模型驱动92

4.3.3实现ModelDriven93

4.4跟踪用户状态94

4.4.1利用非IoC方式跟踪用户状态94

4.4.2利用IoC方式跟踪用户状态98

4.5MyEclipse提供的Struts 2添加向导99

同步训练101

第5章深入Struts 2102

5.1Struts 2的工作原理102

5.2Struts 2的配置文件104

5.2.1Struts 2的配置文件介绍104

5.2.2struts.xml的结构104

5.2.3constant(常量)配置105

5.2.4package(包)配置106

5.2.5namespace(命名空间)配置107

5.2.6include(包含)配置108

5.3配置Action109

5.3.1使用method属性109

5.3.2动态方法调用110

5.3.3使用通配符111

5.3.4利用静态参数给Action传递值112

5.3.5默认的Action113

5.4配置result113

5.4.1result映射与结果类型113

5.4.2dispatcher类型114

5.4.3redirect类型116

5.4.4redirectAction类型118

5.4.5chain类型119

5.4.6plainText类型120

5.4.7全局result121

5.5异常映射122

5.6案例2: 用Struts 2改写留言板的数据模型124

同步训练127

第6章Struts 2的标签库128

6.1OGNL表达式128

6.1.1ActionContext和Value Stack128

6.1.2访问Value Stack中的元素129

6.1.3访问Stack Context中的对象129

6.1.4访问静态属性和静态方法130

6.1.5访问集合元素130

6.1.6OGNL中的三个重要符号131

6.2标签库132

6.2.1使用标签库的好处132

6.2.2Struts 2的标签库133

6.3数据标签133

6.3.1debug标签133

6.3.2property标签133

6.3.3param标签134

6.3.4action标签135

6.3.5bean标签136

6.3.6set标签137

6.3.7push标签138

6.3.8url与a标签139

6.3.9include标签141

6.3.10date标签142

6.4控制标签143

6.4.1if、elseif和else标签143

6.4.2iterator标签144

6.4.3append标签和merge标签147

6.4.4generator标签148

6.4.5subset标签150

6.4.6sort标签152

6.5表单标签153

6.5.1表单标签的公共属性153

6.5.2form标签154

6.5.3textfield、 password和hidden标签155

6.5.4textarea标签155

6.5.5reset标签156

6.5.6submit标签156

6.5.7checkbox标签157

6.5.8checkboxlist 和radio标签158

6.5.9select标签159

6.5.10optgroup标签161

6.5.11combobox标签162

6.5.12updownselect标签162

6.5.13doubleselect标签163

6.5.14optiontransferselect标签165

6.5.15其他UI标签167

6.6actionerror、actionmessage和fielderror标签167

6.7模板和主题169

6.8案例3: 用Struts 2标签库改写留言板的视图171

同步训练174

第7章拦截器175

7.1Struts 2拦截器175

7.2自定义拦截器176

7.3拦截器的配置和使用178

7.4PreResultListener接口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.2stream结果类型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.3Struts 2内置的验证器203

9.3.1required验证器204

9.3.2requiredstring验证器204

9.3.3int、long和short验证器205

9.3.4double验证器206

9.3.5date验证器207

9.3.6expression 验证器207

9.3.7fieldexpression验证器208

9.3.8regex验证器209

9.3.9email验证器209

9.3.10url验证器210

9.3.11conversion验证器211

9.3.12stringlength验证器211

9.3.13visitor验证器212

9.3.14conditionalvisitor验证器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.2Java对国际化的支持222

10.1.3资源的参数化225

10.2Struts 2对国际化的支持226

10.3Struts 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.2JSP页面的国际化233

10.4.3校验信息的国际化235

同步训练238

第11章类型转换239

11.1类型转换概述239

11.1.1Struts 2内置的类型转换器239

11.1.2类型转换时装配对象的原则241

11.2复杂对象类型的转换241

11.2.1数组和List的类型转换241

11.2.2Map的类型转换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.xml257

12.3.1@Action和@Actions257

12.3.2@Result和@Results259

12.3.3@Namespace260

12.3.4@ResultPath注解261

12.3.5@ParentPackage261

12.3.6@InterceptorRef和@InterceptorRefs注解262

12.3.7@ExceptionMapping和@ExceptionMappings注解262

12.4案例8: 利用注解配置留言板程序263

同步训练268

第13章整合JQuery269

13.1JQuery语法269

13.1.1JQuery简介269

13.1.2JQuery选择器269

13.1.3常用的JQuery属性方法271

13.1.4常用的JQuery事件方法271

13.2利用JQuery实现客户端验证274

13.3利用JQuery实现AJAX277

13.3.1JSON277

13.3.2JQuery的AJAX方法278

13.3.3调用Action返回JSON字符串280

13.3.4调用Action返回List282

同步训练284

附录AMyEclipse常用的快捷键285附录BEL表达式286

参考文献289