CSDN首发-Struts 2网络大讲堂 -Struts教程-窗内网

来源:互联网 发布:锋刃网络 编辑:程序博客网 时间:2024/05/20 20:43

Struts 2网络大讲堂

 

本书涵盖了Struts 2框架中的配置文件、拦截器、国际化与异常处理、类型转换、输入校验、标签库、数据库应用、文件上传与下载以及对Ajax的支持等知识点,此外还详细地讲解了Struts 2与Hibernate、Spring、JSF、SiteMesh、FreeMarker、Tiles和JFreeChart这些主流框架的整合技术。本书为实例配备了视频教学文件,读者可以通过视频文件更加直观地学习Struts 2框架知识。本书具有知识全面、实例精彩、指导性强的特点,力求以全面的知识性及丰富的实例来指导读者透彻地学习Struts 2框架各方面的知识。


目    录


绪论1

0.1  MVC概述1

0.2  Model 1和Model 2体系介绍3

0.3  Struts 1简介4

0.4  WebWork概述5

0.5  Struts 2的起源7

0.6  Struts 2框架的调用流程7

0.7  Struts 2标签库概述8

第1章  初识Struts 210

1.1  JDK安装问题10

1.1.1  问题描述10

1.1.2  解决方法10

1.1.3  知识扩展——安装配置JDK10

1.1.4  网络课堂12

1.2  安装好Tomcat之后无法使用13

1.2.1  问题描述13

1.2.2  解决方法13

1.2.3  知识扩展——下载安装Tomcat13

1.2.4  触类旁通14

1.2.5  网络课堂15

1.3  导入JAR包遇到的问题15

1.3.1  问题描述15

1.3.2  解决方法16

1.3.3  知识扩展——下载安装Struts 216

1.3.4  网络课堂16

1.4  MyEclipse整合Tomcat遇到的问题17

1.4.1  问题描述17

1.4.2  解决方法17

1.4.3  知识扩展——下载安装

MyEclipse17

1.4.4  知识扩展——使用MyEclipse

进行Web开发19

1.4.5  触类旁通24

1.4.6  网络课堂24

1.5  启动Tomcat出错24

1.5.1  问题描述24

1.5.2  解决方法25

1.5.3  知识扩展——Struts 2应用示例25

1.5.4  网络课堂29

1.6  在Struts 2中使用POJO的问题29

1.6.1  问题描述29

1.6.2  解决方法29

1.6.3  知识扩展——Struts 2中

使用POJO30

1.6.4  触类旁通32

1.6.5  网络课堂33

第2章  Struts 2配置文件详解34

2.1  Struts 2在web.xml文件中的配置问题34

2.1.1  问题描述34

2.1.2  解决方法34

2.1.3  知识扩展——web.xml配置35

2.1.4  触类旁通36

2.1.5  网络课堂37

2.2  struts.xml配置文件的顺序问题37

2.2.1  问题描述37

2.2.2  解决方法37

2.2.3  知识扩展——struts.xml配置38

2.2.4  触类旁通43

2.2.5  网络课堂44

2.3  Struts 2的关于通配符的问题44

2.3.1  问题描述44

2.3.2  解决方法44

2.3.3  知识扩展——Action配置44

2.3.4  网络课堂53

2.4  Struts 2中配置文件中result问题53

2.4.1  问题描述53

2.4.2  解决方法53

2.4.3  知识扩展——Result配置53

2.4.4  知识扩展——常用结果类型56

2.4.5  触类旁通62

2.4.6  网络课堂62

2.5  配置Struts 2出错63

2.5.1  问题描述63

2.5.2  解决方法63

2.5.3  知识扩展——struts-default.xml

配置63

2.5.4  网络课堂65

2.6  Struts 2中的struts.properties文件放

在什么地方65

2.6.1  问题描述65

2.6.2  解决方法65

2.6.3  知识扩展——struts.properties

配置65

2.6.4  网络课堂68

2.7  Struts 2与Spring集成的问题68

2.7.1  问题描述68

2.7.2  解决方法69

2.7.3  知识扩展——struts-plugin.xml

配置69

2.7.4  网络课堂70

2.8  Struts 2注解中的param参数问题70

2.8.1  问题描述70

2.8.2  解决方法71

2.8.3  知识扩展——使用注解

配置Action71

2.8.4  知识扩展——使用注解

配置Action的注意事项73

2.8.5  知识扩展——使用注解配置

Action示例74

2.8.6  网络课堂77

第3章  Struts 2中的拦截器78

3.1  Struts 2拦截器配置问题78

3.1.1  问题描述78

3.1.2  解决办法80

3.1.3  知识扩展——拦截器简介80

3.1.4  知识扩展——拦截器配置81

3.1.5  知识扩展——拦截器使用82

3.1.6  知识扩展——配置默认拦截器83

3.1.7  网络课堂84

3.2  拦截器注解Action方法的执行顺序84

3.2.1  问题描述84

3.2.2  解决办法84

3.2.3  知识扩展——拦截器注解84

3.2.4  网络课堂86

3.3  Struts 2自定义拦截器和默认拦截器栈的

顺序问题87

3.3.1  问题描述87

3.3.2  解决办法87

3.3.3  知识扩展——自定义拦截器87

3.3.4  网络课堂89

3.4  如何避免拦截器拦截类中所有方法90

3.4.1  问题描述90

3.4.2  解决办法90

3.4.3  知识扩展——拦截器方法过滤90

3.4.4  网络课堂92

3.5  使用拦截结果监听器死循环92

3.5.1  问题描述92

3.5.2  解决办法93

3.5.3  知识扩展——拦截结果监听器93

3.5.4  网络课堂95

3.6  如何查看Action执行的时间长度95

3.6.1  问题描述95

3.6.2  解决办法95

3.6.3  知识扩展——系统拦截器96

3.6.4  网络课堂101

第4章  Struts 2中的国际化与

异常处理102

4.1  Java国际化都支持哪些语言和区域102

4.1.1  问题描述102

4.1.2  解决方法102

4.1.3  知识扩展——Java对国际化的

支持104

4.1.4  知识扩展——资源文件的使用105

4.1.5  知识扩展——MessageFormat类106

4.1.6  触类旁通108

4.1.7  网络课堂111

4.2  如何使用Struts 2实现国际化111

4.2.1  问题描述111

4.2.2  解决办法112

4.2.3  知识扩展——Struts 2中配置

资源文件114

4.2.4  知识扩展——资源文件中的

占位符115

4.2.5  知识扩展——包范围资源文件116

4.2.6  知识扩展——Action范围

资源文件118

4.2.7  知识扩展——临时资源文件119

4.2.8  触类旁通120

4.2.9  网络课堂121

4.3  如何设置浏览器的语言版本121

4.3.1  问题描述121

4.3.2  解决办法121

4.3.3  知识扩展——实现自由选择

语言环境121

4.3.4  网络课堂124

4.4  如何优化异常提示125

4.4.1  问题描述125

4.4.2  解决办法125

4.4.3  知识扩展——Java中的

异常处理126

4.4.4  知识扩展——Struts 2中的

异常处理127

4.4.5  网络课堂128

第5章  Struts 2中的类型转换129

5.1  OGNL类型转换器如何实现129

5.1.1  问题描述129

5.1.2  解决办法129

5.1.3  知识扩展——传统类型转换130

5.1.4  知识扩展——基于OGNL的类型

转换器131

5.1.5  知识扩展——基于Struts 2的

类型转换131

5.1.6  网络课堂132

5.2  实现全局类型转换器注册出现异常133

5.2.1  问题描述133

5.2.2  解决办法134

5.2.3  知识扩展——注册自定义类型

转换器134

5.2.4  知识扩展——数组属性类型

转换器135

5.2.5  知识扩展——集合属性类型

转换器136

5.2.6  网络课堂137

5.3  Struts 2类型转换时的问题137

5.3.1  问题描述137

5.3.2  解决办法138

5.3.3  知识扩展——Struts 2默认类型

转换器139

5.3.4  知识扩展——NULL属性的

处理139

5.3.5  知识扩展——使用常用类型

转换140

5.3.6  知识扩展——使用OGNL

表达式142

5.3.7  知识扩展——集合类型属性的

使用145

5.3.8  网络课堂147

5.4  类型转换时异常拦截器不起作用147

5.4.1  问题描述147

5.4.2  解决办法147

5.4.3  知识扩展——类型转换异常

拦截器148

5.4.4  知识扩展——类型转换注解151

5.4.5  网络课堂154

第6章  输入校验155

6.1  validateXxx()方法不起作用155

6.1.1  问题描述155

6.1.2  解决方法155

6.1.3  知识扩展——使用validate()进行

输入校验156

6.1.4  知识扩展——使用validateXxx()

进行输入校验156

6.1.5  触类旁通158

6.1.6  网络课堂160

6.2  编写校验文件注意哪些事项160

6.2.1  问题描述160

6.2.2  解决方法160

6.2.3  知识扩展——定义校验规则

文件进行输入校验161

6.2.4  知识扩展——输入校验的国际化

提示信息163

6.2.5  知识扩展——字段校验器与非字段

校验器配置风格164

6.2.6  知识扩展——校验文件的

搜索规则165

6.2.7  触类旁通168

6.2.8  网络课堂169

6.3  如何配置复合类型的校验规则文件170

6.3.1  问题描述170

6.3.2  解决方法170

6.3.3  知识扩展——复合属性的校验171

6.3.4  知识扩展——集合属性的

校验173

6.3.5  网络课堂174

6.4  如何使用必填校验器174

6.4.1  问题描述174

6.4.2  解决方法174

6.4.3  知识扩展——Struts 2内建

校验器简介174

6.4.4  知识扩展——必填校验器176

6.4.5  知识扩展——必填字符串校验177

6.4.6  知识扩展——整数校验器179

6.4.7  知识扩展——日期校验器180

6.4.8  知识扩展——表达式校验器181

6.4.9  知识扩展——字段表达式

校验器183

6.4.10  知识扩展——邮件地址校验器184

6.4.11  知识扩展——网址校验器185

6.4.12  知识扩展——复合类型校验器186

6.4.13  知识扩展——类型转换校验器187

6.4.14  知识扩展——字符串长度

校验器188

6.4.15  知识扩展——正则表达式

校验器189

6.4.16  网络课堂191

6.5  如何注册自定义校验器191

6.5.1  问题描述191

6.5.2  解决方法191

6.5.3  知识扩展——自定义校验器191

6.5.4  网络课堂194

第7章  OGNL表达式195

7.1  OGNL中是否可以使用单引号定义

常量195

7.1.1  问题描述195

7.1.2  解决方法195

7.1.3  知识扩展——OGNL常量195

7.1.4  网络课堂196

7.2  OGNL中是否支持“?:”操作符196

7.2.1  问题描述196

7.2.2  解决办法196

7.2.3  知识扩展——OGNL操作符196

7.2.4  网络课堂197

7.3  为什么在调用静态方法时出错197

7.3.1  问题描述197

7.3.2  解决办法198

7.3.3  知识扩展——OGNL调用

JavaBean属性198

7.3.4  知识扩展——调用静态属性和

静态方法199

7.3.5  知识扩展——调用构造方法199

7.3.6  网络课堂199

7.4  在OGNL中如何获取列表中的元素值200

7.4.1  问题描述200

7.4.2  解决办法200

7.4.3  知识扩展——数组和列表索引200

7.4.4  知识扩展——JavaBean的

索引属性200

7.4.5  知识扩展——OGNL对象

索引属性201

7.4.6  网络课堂201

7.5  如何筛选月收入大于2000的最低收入202

7.5.1  问题描述202

7.5.2  解决办法202

7.5.3  知识扩展——对集合的操作202

7.5.4  网络课堂204

7.6  使用OGNL表达式获取对象属性问题205

7.6.1  问题描述205

7.6.2  解决办法206

7.6.3  知识扩展——Struts 2的OGNL

基础应用206

7.6.4  网络课堂212

第8章  Struts 2中的标签库213

8.1  如何使property标签的输出换行213

8.1.1  问题描述213

8.1.2  解决方法213

8.1.3  知识扩展——Struts 2标签库

分类214

8.1.4  知识扩展——数据标签214

8.1.5  触类旁通231

8.1.6  网络课堂231

8.2  如何将Map集合中的元素输出到

页面中232

8.2.1  问题描述232

8.2.2  解决方法232

8.2.3  知识扩展——控制标签233

8.2.4  触类旁通245

8.2.5  网络课堂246

8.3  如何让Struts 2表单验证的错误信息

在右边显示246

8.3.1  问题描述246

8.3.2  解决方法247

8.3.3  知识扩展——主题247

8.3.4  知识扩展——模板248

8.3.5  知识扩展——主题和模板的

使用249

8.3.6  网络课堂251

8.4  如何使select标签显示正确的内容251

8.4.1  问题描述251

8.4.2  解决方法252

8.4.3  知识扩展——表单标签的

公共属性252

8.4.4  知识扩展——表单标签254

8.4.5  触类旁通269

8.4.6  网络课堂271

8.5  提示模板找不到的错误信息271

8.5.1  问题描述271

8.5.2  解决方法271

8.5.3  知识扩展——非表单标签272

8.5.4  网络课堂274

第9章  Struts 2连接数据库275

9.1  多次安装MySQL出错275

9.1.1  问题描述275

9.1.2  解决方法275

9.1.3  知识扩展——安装MySQL275

9.1.4  网络课堂279

9.2  出现java.lang.ClassNotFoundException

错误279

9.2.1  问题描述279

9.2.2  解决方法280

9.2.3  知识扩展——连接数据库的

基本步骤280

9.2.4  触类旁通282

9.2.5  网络课堂283

9.3  Struts 2中如何修改记录283

9.3.1  问题描述283

9.3.2  解决方法283

9.3.3  知识扩展——在Struts 2中实现

CRUD操作283

9.3.4  网络课堂299

第10章  文件上传与下载300

10.1  Struts 2如何对上传文件过滤300

10.1.1  问题描述300

10.1.2  解决方法300

10.1.3  知识扩展——Struts 2文件

上传原理300

10.1.4  知识扩展——实现上传文件

过滤304

10.1.5  触类旁通305

10.1.6  网络课堂306

10.2  如何设置多文件上传存放路径306

10.2.1  问题描述306

10.2.2  解决方法306

10.2.3  知识扩展——使用数组同时上传

多个文件306

10.2.4  知识扩展——使用List同时上传

多个文件308

10.2.5  网络课堂309

10.3  struts.xml里如何配置inputName属性309

10.3.1  问题描述309

10.3.2  解决方法309

10.3.3  知识扩展——实现文件的下载310

10.3.4  知识扩展——下载权限的控制313

10.3.5  触类旁通316

10.3.6  网络课堂317

第11章  避免表单重复提交318

11.1  如何让重复提交表单提示信息国际化318

11.1.1  问题描述318

11.1.2  解决办法318

11.1.3  知识扩展——避免表单重复提交的

实现原理318

11.1.4  知识扩展——Struts 2实现避免

表单重复提交319

11.1.5  网络课堂323

11.2  使用tokenSession拦截器提示表单重复

提交错误323

11.2.1  问题描述323

11.2.2  解决办法323

11.2.3  知识扩展——使用tokenSession

拦截器323

11.2.4  网络课堂326

11.3  使用execAndWait拦截器页面

不会跳转326

11.3.1  问题描述326

11.3.2  解决办法326

11.3.3  知识扩展——使用execAndWait

拦截器326

11.3.4  网络课堂330

第12章  Struts 2对Ajax的支持331

12.1  创建XMLHttpRequest提示未定义

错误331

12.1.1  问题描述331

12.1.2  解决办法332

12.1.3  知识扩展——Ajax简介332

12.1.4  知识扩展——XMLHttpRequest333

12.1.5  知识扩展——XMLHttpRequest

应用336

12.1.6  网络课堂339

12.2  使用Ajax获取XML类型数据出错339

12.2.1  问题描述339

12.2.2  解决办法340

12.2.3  知识扩展——使用XML作为

数据的载体341

12.2.4  网络课堂343

12.3  如何将List的值或对象传到前台

页面显示344

12.3.1  问题描述344

12.3.2  解决办法344

12.3.3  知识扩展——JSON简单应用344

12.3.4  知识扩展——JSON与其他数据的

交换347

12.3.5  网络课堂354

12.4  使用Dojo请求路径是否可以为

Servlet354

12.4.1  问题描述354

12.4.2  解决办法354

12.4.3  知识扩展——使用Dojo实现Ajax

应用355

12.4.4  网络课堂357

12.5  在Struts 2中使用JSON出错357

12.5.1  问题描述357

12.5.2  解决办法357

12.5.3  知识扩展——在Struts 2中使用JSON357

12.5.4  网络课堂360

12.6  Ajax输入校验失效360

12.6.1  问题描述360

12.6.2  解决办法361

12.6.3  知识扩展——Struts 2中的Ajax

主题362

12.6.4  知识扩展——Ajax输入校验362

12.6.5  网络课堂366

12.7  Struts 2中DIV标签刷新问题366

12.7.1  问题描述366

12.7.2  解决办法367

12.7.3  知识扩展——DIV标签367

12.7.4  网络课堂370

12.8  是否可以在Struts 2的a标签中添加

单击事件370

12.8.1  问题描述370

12.8.2  解决办法370

12.8.3  知识扩展——a标签370

12.8.4  知识扩展——submit标签372

12.8.5  网络课堂374

12.9  如何为tabbedPanel标签面板设置

背景图片374

12.9.1  问题描述374

12.9.2  解决办法374

12.9.3  知识扩展——tabbedPanel

标签374

12.9.4  网络课堂378

12.10  showDownArrow属性问题378

12.10.1  问题描述378

12.10.2  解决办法378

12.10.3  知识扩展——autocompleter

标签379

12.10.4  网络课堂380

第13章  整合Hibernate381

13.1  没有指定property元素的type

属性问题381

13.1.1  问题描述381

13.1.2  解决方法381

13.1.3  知识扩展——Hibernate的

核心接口381

13.1.4  知识扩展——Hibernate的

下载和安装383

13.1.5  知识扩展——Hibernate配置文件和映射文件383

13.1.6  网络课堂389

13.2  Struts 2与Hibernate整合操作数据库

出错389

13.2.1  问题描述389

13.2.2  解决方法390

13.2.3  知识扩展——Struts 2与Hibernate

的整合方案390

13.2.4  知识扩展——在Struts 2中集成

Hibernate390

13.2.5  触类旁通405

13.2.6  网络课堂406

第14章  整合Spring407

14.1  Spring中如何设置配置文件路径407

14.1.1  问题描述407

14.1.2  解决方法407

14.1.3  知识扩展——Spring框架组建407

14.1.4  知识扩展——Spring容器及核心

配置文件408

14.1.5  知识扩展——IoC和DI410

14.1.6  网络课堂412

14.2  Spring和Struts 2整合为什么出现空

指针异常413

14.2.1  问题描述413

14.2.2  解决方法413

14.2.3  知识扩展——Spring整合

Struts 2413

14.2.4  触类旁通420

14.2.5  网络课堂420

第15章  整合其他框架技术421

15.1  在Struts 2中使用JSF无法正确传参421

15.1.1  问题描述421

15.1.2  解决方法421

15.1.3  知识扩展——与JSF整合422

15.1.4  网络课堂433

15.2  SiteMesh不起作用433

15.2.1  问题描述433

15.2.2  解决方法433

15.2.3  知识扩展——与SiteMesh整合434

15.2.4  触类旁通438

15.2.5  网络课堂439

15.3  在FreeMarker中无法使用Struts 2

标签439

15.3.1  问题描述439

15.3.2  解决方法440

15.3.3  知识扩展——与FreeMarker

整合440

15.3.4  触类旁通447

15.3.5  网络课堂448

15.4  使用Tiles时抛出空指针异常448

15.4.1  问题描述448

15.4.2  解决方法448

15.4.3  知识扩展——与Tiles整合449

15.4.4  网络课堂454

15.5  使用JFreeChart框架时无法加载

struts.xml文件454

15.5.1  问题描述454

15.5.2  解决方法456

15.5.3  知识扩展——与JFreeChart

整合456

15.5.4  触类旁通461

15.5.5  网络课堂461

第16章  网上商城系统462

16.1  系统分析和设计462

16.1.1  需求分析462

16.1.2  系统功能模块设计462

16.2  数据库设计463

16.3  系统基础配置及DAO层实现466

16.3.1  搭建Struts 2+Spring+Hibernate

环境466

16.3.2  实现Hibernate持久层469

16.3.3  实现DAO组件层472

16.3.4  DAO组件在Spring核心文件中的

配置481

16.4  Web层的具体实现481

16.4.1  显示所有商品模块482

16.4.2  购物车模块485

16.4.3  后台添加商品模块489


原创粉丝点击