王朝网络
分享
 
 
 

深入浅出Struts2(图灵程序设计丛书)(Struts 2 Design and Programming A Tutorial)

王朝导购·作者佚名
 
深入浅出Struts2(图灵程序设计丛书)(Struts 2 Design and Programming A Tutorial)  点此进入淘宝搜索页搜索
  特别声明:本站仅为商品信息简介,并不出售商品,您可点击文中链接进入淘宝网搜索页搜索该商品,有任何问题请与具体淘宝商家联系。
  参考价格: 点此进入淘宝搜索页搜索
  分类: 图书,计算机与互联网,程序语言与软件开发,语言与开发工具,综合,
  品牌: Budi Kurniawan

基本信息·出版社:人民邮电出版社

·页码:378 页

·出版日期:2009年

·ISBN:7115205108/9787115205100

·条形码:9787115205100

·包装版本:1版

·装帧:平装

·开本:16

·正文语种:中文

·丛书名:图灵程序设计丛书

·外文书名:Struts 2 Design and Programming A Tutorial

产品信息有问题吗?请帮我们更新产品信息。

内容简介Struts 2 是Java Web 应用首选的MVC 框架。《深入浅出Struts2》对Struts 2 的工作机理进行了透彻的阐述。书中介绍了如何利用Struts 2 来解决Web 应用开发中的常见问题,同时还深入浅出地探讨了许多能帮助程序员编写Struts 2 应用程序的技巧,如管理页面导航活动、输入验证、国际化和本地化、对Ajax 的支持,等等。书中概念清晰、环环相扣,便于读者高效地学习。《深入浅出Struts2》适合Java Web 程序员阅读和参考,也可以作为计算机相关专业教材。

作者简介Budi Kurniawan,世界知名的Java专家和资深JavaEE高级架构师,自己创建了软件咨询和技术出版公司Brainy Software。他还撰写了深入揭示Tomcat工作机理和设计理念的名著How Tomcat Works,并在多种权威出版物上发表过100多篇文章。

媒体推荐“本书是毋庸置疑的struts2权威著作,虽然肯定还会有更多相关图书出现,但是我相信它已经不可超越。”

——JavaRanch网站

“本书内容极为扎实。充满了其他地方找不到的技术细节,而且深入剖析了Struts的内部机理。强烈推荐”

——JosephBrutto,资深程序员

编辑推荐《深入浅出Struts2》是广受赞誉的Struts2优秀教程.它全面而深入地阐述了Strut2的各个特性,并指导开发人员如何根据遇到的问题对症下药。选择使用最合适的特性。作者处处从实战出发。在丰富的示例中直观地探讨了许多实用的技术。如数据类型转换、文件上传和下载、Struts2应用的安全性、调试与性能分析、FreeMarker、Velocily、Ajax,等等。跟随作者一道深入Struts2。聆听大量来之不易的经验之谈。你对Struts2开发框架的理解和应用水平都将更上一层楼。

Struts2权威著作

深入全面阐释Struts2的方方面面

涵盖FreeMarker、Ajax等大量相关技术

目录

第1章 Model 2应用程序 1

1.1 Model 2概览 1

1.2 带servlet控制器的Model 2 2

1.2.1 Product动作类 3

1.2.2 ControllerServlet类 4

1.2.3 视图 6

1.2.4 部署描述文件 8

1.2.5 示例程序的运行 9

1.3 带过滤器调度程序的Model 2 9

1.4 小结 13

第2章 初识Struts 14

2.1 Struts的优点 14

2.2 Struts的动作处理流程 15

2.3 拦截器 17

2.4 Struts配置文件 18

2.4.1 struts.xml文件 19

2.4.2 struts.properties文件 26

2.5 Struts应用程序示例 26

2.5.1 部署描述文件和Struts配置文件 27

2.5.2 动作类 28

2.5.3 运行app02a程序 29

2.6 依赖注入 29

2.6.1 概述 29

2.6.2 依赖注入的几种方式 31

2.7 小结 31

第3章 动作与结果 32

3.1 动作类 32

3.2 如何访问资源 34

3.2.1 ServletActionContext对象 34

3.2.2 Aware接口 35

3.2.3 通过Aware接口访问资源 38

3.3 把静态参数传递给一个动作 41

3.4 ActionSupport类 41

3.5 结果 42

3.5.1 Chain 43

3.5.2 Dispatcher 44

3.5.3 FreeMarker 44

3.5.4 HttpHeader 44

3.5.5 Redirect 45

3.5.6 Redirect Action 46

3.5.7 Stream 47

3.5.8 Velocity 47

3.5.9 XSLT 47

3.5.10 PlainText 47

3.6 异常处理:exception-mapping元素 47

3.7 通配符映射 48

3.8 动态方法调用 51

3.9 对动作类进行测试 51

3.10 小结 51

第4章 OGNL 52

4.1 Value Stack栈 52

4.2 读取Object Stack里的对象的属性 53

4.3 读取Context Map里的对象的属性 54

4.4 如何调用字段和方法 55

4.5 如何访问数组类型的属性 56

4.6 如何访问List类型的属性 56

4.7 如何访问Map类型的属性 57

4.8 JSP EL:当OGNL帮不上忙时 58

4.9 小结 58

第5章 表单标签 59

5.1 Struts标签的使用方法 59

5.2 表单标签的共同属性 60

5.3 form标签 62

5.4 textfield、password、hidden标签 63

5.5 submit标签 65

5.6 reset标签 65

5.7 label标签 66

5.8 head标签 66

5.9 textarea标签 66

5.10 checkbox标签 67

5.11 list、listKey和listValue属性 72

5.11.1 赋值一个String 72

5.11.2 赋值一个Map 73

5.11.3 赋值一个Collection或一个对象数组 73

5.12 radio标签 74

5.13 select标签 76

5.14 用optgroup标签对选项进行分组 79

5.15 checkboxlist标签 82

5.16 combobox标签 83

5.17 updownselect标签 85

5.18 optiontransferselect标签 87

5.19 doubleselect标签 90

5.20 主题 92

5.21 小结 94

第6章 通用标签 95

6.1 property标签 95

6.2 a标签 97

6.3 action标签 97

6.4 param标签 98

6.5 bean标签 98

6.6 date标签 100

6.7 include标签 100

6.8 set标签 101

6.9 push标签 103

6.10 url标签 104

6.11 if、else和elseif标签 105

6.12 iterator标签 107

6.13 append标签 110

6.14 merge标签 111

6.15 generator标签 113

6.16 sort标签 116

6.17 subset标签 118

6.18 小结 119

第7章 类型转换 120

7.1 类型转换概述 120

7.2 类型转换错误消息的定制 121

7.3 类型转换器的定制 125

7.3.1 对自定义的类型转换器进行配置 126

7.3.2 自定义的类型转换器示例 127

7.4 扩展StrutsTypeConverter类 130

7.5 与复杂对象配合使用 134

7.6 与Collection配合使用 137

7.7 与Map配合使用 142

7.8 小结 145

第8章 输入验证 146

8.1 验证程序概述 146

8.2 验证程序的配置 147

8.3 Struts内建验证程序 148

8.3.1 required验证程序 149

8.3.2 requiredstring验证程序 150

8.3.3 stringlength验证程序 152

8.3.4 int验证程序 154

8.3.5 date验证程序 156

8.3.6 email验证程序 157

8.3.7 url验证程序 159

8.3.8 regex验证程序 160

8.3.9 expression和fieldexpression验证程序 161

8.3.10 conversion验证程序 164

8.3.11 visitor验证程序 166

8.4 编写自定义的验证程序 173

8.4.1 注册 176

8.4.2 示例 177

8.5 利用Validateable接口实现编程验证 180

8.6 小结 182

第9章 消息处理与国际化 183

9.1 地区和Java资源绑定 183

9.2 Struts中的国际化支持 185

9.3 text标签 188

9.4 i18n标签 191

9.5 以手动方式选择一个资源包 193

9.6 小结 195

第10章 Model Driven和Preparable拦截器 196

10.1 把动作与模型隔离开 196

10.2 Model Driven拦截器 197

10.3 Preparable拦截器 201

10.4 小结 206

第11章 持久层 207

11.1 DAO模式 207

11.1.1 DAO模式的最简单实现 208

11.1.2 使用DAO接口的DAO模式 208

11.1.3 使用Abstract Factory模式的DAO模式 209

11.2 实现DAO模式 209

11.2.1 DAO接口和DAOBase类 210

11.2.2 EmployeeDAO类 213

11.2.3 EmployeeDAOMySQLImpl类 214

11.2.4 DAOFactory类 218

11.2.5 EmployeeManager类 219

11.2.6 运行app11a应用程序 220

11.3 Hibernate 221

11.4 小结 221

第12章 文件的上传 222

12.1 文件上传概述 222

12.2 在Struts里上传文件 223

12.3 File Upload拦截器 224

12.4 上传单个文件示例 225

12.5 上传多个文件示例 227

12.6 小结 230

第13章 文件的下载 231

13.1 文件下载概述 231

13.2 Stream结果类型 232

13.3 文件下载功能的编程实现 235

13.4 小结 238

第14章 提高Struts应用程序的安全性 239

14.1 用户和角色 239

14.2 编写安全策略 240

14.2.1 保护资源 240

14.2.2 指定登录方法 241

14.3 身份验证方法 242

14.3.1 使用基本身份验证方法 243

14.3.2 使用基于表单的身份验证方法 245

14.4 隐藏资源 247

14.5 Struts安全配置 248

14.6 以编程方式提高安全性 250

14.6.1 getAuthType方法 250

14.6.2 isUserInRole方法 250

14.6.3 getUserPrincipal方法 251

14.6.4 getRemoteUser方法 251

14.7 小结 251

第15章 防止重复提交 252

15.1 标记管理 252

15.2 使用Token拦截器 253

15.3 使用Token Session拦截器 256

15.4 小结 257

第16章 调试与性能分析 258

16.1 debug标签 258

16.2 Debugging拦截器 259

16.3 性能分析 261

16.4 小结 262

第17章 进度条 263

17.1 Execute and Wait拦截器 263

17.2 使用Execute and Wait拦截器 264

17.3 使用一个自定义的“等待”页面 265

17.4 小结 266

第18章 定制拦截器 267

18.1 Interceptor接口 267

18.2 编写一个自定义的拦截器 268

18.3 使用DataSourceInjectorInterceptor拦截器 269

18.4 小结 273

第19章 定制结果类型 274

19.1 概述 274

19.2 编写一个自定义的结果类型 274

19.3 使用新的结果类型 277

19.4 小结 279

第20章 Velocity 280

20.1 概述 280

20.2 Velocity隐式对象 281

20.3 标签 281

20.4 Velocity示例 282

20.5 小结 284

第21章 FreeMarker 285

21.1 概述 285

21.2 FreeMarker标签 286

21.3 示例 287

21.4 小结 289

第22章 XSLT结果类型 290

22.1 概述 290

22.2 XSLT结果类型 292

22.3 示例 294

22.4 小结 295

第23章 插件 296

23.1 概述 296

23.2 从哪里获得插件 296

23.3 编写一个自定义的插件 296

23.4 使用Captcha插件 297

23.5 小结 300

第24章 Tiles插件 301

24.1 JSP include指令/标签的不足 302

24.2 Tiles布局和定义 303

24.2.1 布局页面 303

24.2.2 Tiles定义 304

24.3 Struts Tiles插件 305

24.4 Struts Tiles示例 306

24.5 小结 309

第25章 JFreeChart插件 310

25.1 JFreeChart API 310

25.1.1 JFreeChart类 310

25.1.2 Plot抽象类 310

25.2 使用标准的插件 311

25.3 使用BrainySoftware JFreeChart插件 313

25.4 小结 315

第26章 零配置 316

26.1 准备工作 316

26.2 注解 317

26.2.1 @Result注解 317

26.2.2 @Results注解 318

26.2.3 @Namespace注解 318

26.2.4 @ParentPackage注解 319

26.3 CodeBehind插件 319

26.4 小结 321

第27章 Ajax 322

27.1 Ajax概述 322

27.2 Dojo的事件系统 323

27.3 使用Struts Dojo插件 324

27.4 head标签 324

27.5 div标签 325

27.5.1 示例程序1 326

27.5.2 示例程序2 326

27.5.3 示例程序3 327

27.6 a标签 328

27.7 submit标签 330

27.8 bind标签 331

27.9 datetimepicker标签 333

27.10 tabbedpanel标签 334

27.11 textarea标签 336

27.12 autocompleter标签 337

27.12.1 示例程序1 339

27.12.2 示例程序2 339

27.12.3 示例程序3 340

27.13 tree和treenode标签 341

27.13.1 示例程序1 342

27.13.2 示例程序2 343

27.14 小结 345

附录A Struts配置 346

附录B JSP EL语言 361

附录C Java注解 370

……[看更多目录]

序言Servlet①技术和1JSP(JaLvaServer Pages)是利用Java语言开发Web/_立用程序的两种主要技术。Sun公司于1996年首次推出Servlet技术时,人们认为这种技术远优于当时占主导地位的公共网关接口(Common Gateway Inter。face,CGI)。这是因为某个servlet(服务器端Java程序)在应用户的请求而首次调入内存执行之后将一直驻留在内存里,对同一个servlet的后续请求不用再对这个servlet的类进行实例化,因此响应速度更快。

可是,servlet也存在一个严重问题,因为所有的HTML输出必须像下面这段代码那样封装在string对象里,所以servlet将HTML标签发送给浏览器时既繁琐又容易出错:

这大大增加了编程的难度,而且即便是对网页在表现方面的细微改动,例如改变网页的背景颜色,也需要重新编译整个servlet。

Sun公司意识到了这个问题,并提出了JSP技术。JSP允许Java代码和HTML标签混杂在一起以简化页面的编辑工作,所有的改动无需重新进行编译:某个页面修改后,将在第一次被调用时自动编译。JSP里的Java代码段称为scrilmlet。

允许Java代码乘HTML混杂在一起的办法乍看起来很实用,但实际上并不好,原因有以下几点。

文摘插图:

深入浅出Struts2(图灵程序设计丛书)(Struts 2 Design and Programming A Tutorial)

消息处理是应用程序开发工作中的一项重要任务。例如,文本和消息必须是可编辑的,

并且无需重新编译。另外,应用程序必须能“说”多种语言。在程序设计领域,人们把能够在无需改写有关代码的前提下,让开发出来的应用程序能够支持多种语言和数据格式的技术称为国际化技术。在计算机文档里,国际化(internationalization)通常简写为i18n,这是因为这个单词的第一个字母是i,最后一个字母是n,i和n之间总共有18个字母。与国际化相对应的是本地化,指让一个具备国际化支持的应用程序支持某个特定的地区。这里所说的地区(10cale)可以是一个特定的地理区域、政治区域或文化区域。如果某种操作在不同的地区有不同的结果,那它就是对地区敏感的(10cale-sensitive),例如,显示日期就是一种对地区敏感的操作,因为日期的显示格式应该顺应本地用户所在的国家或地区的语言习惯。以2007年8月15日为例,美国人会把这个日期写成8/15/2007,澳大利亚人则会把它写成15/8/2007。本地化(10calization)通常简写为110n,这是因为这个单词的第一个字母是l,最后一个字母是n,并且l和n之间总共有10个字母。

如果某个应用程序具备国际化支持,我们就可以快速方便地改变它的各种屏显文字。Java已经内建了国际化支持功能。

 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
>>返回首页<<
推荐阅读
 
 
频道精选
 
更多商品
8小时工作24小时思考
新型笔记本电脑电路详解及常见故障维修宝典
3ds Max/After Effects印象 影视包装技术精粹 3(附赠DVD光盘1张)
管制治理:中国电信产业改革实证研究(现代通信经济与管理丛书)
精通.NET互操作P/Invoke,C++Interop和COM Interop(附赠DVD光盘1张)
业余无线电移动应用指南(业余无线电丛书)
大话通信:通信基础知识读本
海信彩色电视机上门速修速查手册(续)
基于VHDL的FPGA开发快速入门·技巧·实例(EDA技术实用丛书)
多媒体技术应用教程(Authorware7.0中文版)(21世纪高等职业教育信息技术类规划教材)
 
静静地坐在废墟上,四周的荒凉一望无际,忽然觉得,凄凉也很美
© 2005- 王朝网络 版权所有