自己动手写Struts

自己动手写Struts
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2007-07
版次: 1
ISBN: 9787121046490
定价: 79.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 623页
字数: 896千字
  •   本书由浅入深、循序渐进地介绍了MVC的体系结构和如何构建一个基于MVC的Web框架,目的是帮助软件开发人员快速掌握MVC的设计思想,并能使用MVC的内涵设计Web框架。全书共分12章。第1章详细介绍MVC的设计思想、优缺点,以及如何构建一个基于MVC的Web框架;通过这部分知识的介绍,建立起读者对MVC的理论基础。第2~9章将逐步实现一个基于MVC的Web框架和持久层框架;读者可以通过这部分内容的学习,掌握其实现细节和核心设计方式。第10~11章主要介绍如何将自己实现的Web框架与其他工具进行整合;读者通过这部分内容的学习,可以将本书中实现的Web框架与目前许多开源项目,如Hibernate、Log4j等整合起来,以方便开发。第12章主要通过一个内容管理系统实例来验证本书所实现的框架;读者通过这部分内容的学习,可以熟练掌握本书所实现的Web框架的使用方法。
      本书采用Struts和Spring的一些优点,通过一步一步的讲解,使读者真正掌握MVC的核心思想和实现方法。本书适合于初、中、高级软件开发人员阅读,同时也可作为高校相关专业和社会培训班的教材。
      本书含光盘一张 第1章运筹帷幄:Web框架的核心思想 2
    1.1MVC模式 2
    1.1.1MVC模式概述 2
    1.1.2MVC模式的结构 3
    1.1.3MVC模式的设计思想 4
    1.1.4MVC模式的处理过程 5
    1.2Model规范 5
    1.2.1Model1规范 6
    1.2.2Model2规范 6
    1.3使用MVC的优缺点 7
    1.3.1使用MVC模式的优点 7
    1.3.2使用MVC模式的不足 8
    1.4如何构建一个基于MVC的Web框架 8
    1.4.1Web框架的设计流程 9
    1.4.2View(视图)层的设计 9
    1.4.3Controller(控制)层的设计 10
    1.4.4Model(模型)层的设计 10
    1.5网络上的资源 11
    1.6小结 12
    第2章未雨绸缪:快速准备Web框架的开发环境 13
    2.1快速建立Java的开发环境 13

    2.1.1下载JDK 13
    2.1.2安装JDK 14
    2.1.3设定PATH与CLASSPATH 15
    2.1.4验证JDK是否安装成功 16
    2.1.5下载Eclipse 17
    2.1.6配置Eclipse 18
    2.2快速建立Web框架的运行环境 18
    2.2.1下载Tomcat 18
    2.2.2设定TOMCAT_HOME 19
    2.2.3下载Eclipse的Tomcat插件 19
    2.2.4为Eclipse配置Tomcat插件 20
    2.2.5验证为Eclipse配置Tomcat是否成功 21
    2.2.6在Eclipse中建立工程项目myApp 22
    2.3第一个使用JSP实现HelloWorld的例子 24
    2.3.1编写输出HelloWorld的JSP文件HelloWorld.jsp 25
    2.3.2运行JSP并查看输出结果 26
    2.4使用Servlet实现HelloWorld的例子 26
    2.4.1编写输出HelloWorld的Servlet文件HelloWorld.java 26
    2.4.2编写配置文件web.xml 27
    2.4.3运行Servlet并查看输出结果 27
    2.5小结 28
    第3章温故知新:快速掌握开发Web框架的基础知识 29
    3.1JSP快速入门 29
    3.1.1什么是JSP 29
    3.1.2JSP的设计目标 29
    3.2JSP的一些重点语法 30
    3.2.1基本语句 30
    3.2.2数据类型和变量命名 30
    3.2.3转义字符 30
    3.2.4注释 30
    3.2.5get和post的区别 32
    3.2.6include和的区别 32
    3.2.7forward和sendRedirect的区别 34
    3.3JSP的内置对象 34
    3.3.1request对象 35
    3.3.2response对象 36
    3.3.3pageContext对象 37
    3.3.4session对象 38
    3.3.5application对象 38
    3.3.6out对象 39
    3.4Servlet快速入门 39
    3.4.1什么是Servlet 39
    3.4.2Servlet的特点 40
    3.4.3Servlet的生命周期 40
    3.4.4Filter技术 41
    3.4.5web.xml详解 44
    3.5JavaScript快速入门 47
    3.5.1什么是JavaScript 47
    3.5.2JavaScript的特点 47
    3.6JavaScript的基本语法 48
    3.6.1数据类型和变量命名 48
    3.6.2运算符和表达式 49
    3.6.3控制语句 49
    3.6.4自定义函数 50
    3.6.5系统内部函数 51
    3.6.6注释 51
    3.7用JavaScript实现网页拖动示例 51
    3.7.1功能演示 52
    3.7.2实现原理 54
    3.7.3示例源代码 58
    3.8小结 63
    第二篇构建自己的Web框架
    第4章力学笃行:快速实现自己的Web框架 66
    4.1使用MVCModel2规范实现Web框架的示意图 66
    4.2视图层设计 67
    4.2.1使用JSP 67
    4.2.2数据的提交和获取方式 67
    4.2.3定义几个通用的JavaScript函数 69
    4.2.4一个较为完整的JSP示例 69
    4.3控制层设计 72
    4.3.1使用Servlet 72
    4.3.2获取从视图层传来的值 72
    4.3.3处理请求到模型层 73
    4.3.4返回视图层 74
    4.3.5定义web.xml文件 74
    4.3.6一个完整的控制层示例GdServlet.java 75
    4.4模型层设计 77
    4.4.1实现一个公用的接口Action.java 77
    4.4.2所有的模型层类都实现这个接口 77
    4.4.3一个完整的模型层示例 79
    4.5通过实现HelloWorld示例来验证框架 81
    4.5.1编写实现输出的页面index.jsp 81
    4.5.2编写业务逻辑HelloWorldAction.java 83
    4.5.3配置web.xml文件 84
    4.5.4运行并验证示例 84
    4.6通过实现用户登录示例来验证框架 85
    4.6.1编写实现登录的页面login.jsp 85
    4.6.2编写登录成功的页面success.jsp 87
    4.6.3编写业务逻辑LoginAction.java 89
    4.6.4配置web.xml文件 90
    4.6.5运行并验证示例 90
    4.6.6修改LoginAction.java自定义返回的页面 92
    4.6.7重新验证示例 93
    4.7让新的Web框架支持sendRedirect 94
    4.7.1为什么要支持sendRedirect 94
    4.7.2修改控制器中返回视图层的设计 94
    4.7.3增加实现接口Action的类GdAction.java 95
    4.7.4设计默认的欢迎页面welcome.jsp 96
    4.7.5验证是否支持sendRedirect 97
    4.8使用MVCModel2规范实现Web框架的完整代码 97
    4.8.1视图层代码 97
    4.8.2控制器代码 99
    4.8.3模型层代码 102
    4.8.4将自己的Web框架打包成jar 103
    4.9使用打包好的jar开发一个实现用户注册的示例 104
    4.9.1在Eclipse中建立Tomcat工程项目myMVC并配置开发环境 104
    4.9.2编写实现用户注册的页面regedit.jsp 107
    4.9.3编写注册成功的页面success.jsp 108
    4.9.4编写修改用户密码的页面updatePassword.jsp 110
    4.9.5编写业务逻辑RegeditAction.java 112
    4.9.6配置web.xml文件 115
    4.9.7运行并验证示例 115
    4.10小结 118
    第5章穿壁引光:将自己的Web框架与Struts进行对比 119
    5.1Struts概述 119
    5.1.1Struts介绍 119
    5.1.2Struts的主要功能和特点 119
    5.1.3Struts的工作原理 120
    5.2使用Struts的环境配置 120
    5.2.1Struts下载 120
    5.2.2Struts环境配置 120
    5.3一个在JSP页面输出“HelloWorld”的Struts示例 123
    5.3.1配置web.xml文件 123
    5.3.2编写实现输出的JSP页面index.jsp 124
    5.3.3编写控制器HelloWorldAction.java 125
    5.3.4配置Struts文档struts-config.xml 125
    5.3.5运行并验证示例 126
    5.4对两种实现“HelloWorld”的示例进行分析 126
    5.4.1Struts和自己的Web框架的相同点 126
    5.4.2Struts和自己的Web框架的不同点 127
    5.5Struts的实现方式 127
    5.5.1ActionServlet(控制器) 127
    5.5.2Action(适配器) 130
    5.5.3ActionMapping(映射) 131
    5.5.4ActionForm(数据存储) 135
    5.5.5DispatchAction(多动作控制器) 138
    5.6用Struts实现用户登录的示例 141
    5.6.1编写实现登录的页面login.jsp 141
    5.6.2编写登录成功的页面success.jsp 142
    5.6.3编写ActionForm为User.java 142
    5.6.4编写业务逻辑LoginAction.java 143
    5.6.5配置Struts文档struts-config.xml 144
    5.6.6配置web.xml文件 144
    5.6.7运行并验证示例 145
    5.7比较Struts和自己的Web框架 145
    5.7.1体系结构的比较 145
    5.7.2ActionServlet和GdServlet进行比较 146
    5.7.3Struts的Action和自己框架的Action进行比较 154
    5.7.4对于返回页面的映射方式进行比较 163
    5.7.5对于表单的提交方式进行比较 165
    5.7.6对于多动作的处理方式进行比较 168
    5.7.7Struts和自己的Web框架对比总结 174
    5.8小结 174
    第6章循序渐进:逐步改善自己的Web框架 175
    6.1要改善的内容 175
    6.1.1对返回页面的映射方式的改善 175
    6.1.2对表单提交方式的改善 176
    6.1.3对多动作处理方式的改善 177
    6.2改善自己Web框架的包结构 178
    6.3改善返回页面的映射方式 178
    6.3.1在自己的Web框架中增加配置文件 178
    6.3.2Dom4j简介 179
    6.3.3解析XML 181
    6.3.4将解析方法与控制器进行整合 187
    6.4用改善后的Web框架实现“HelloWorld”的示例 194
    6.4.1在工程项目myApp中进行开发 195
    6.4.2配置web.xml文件 195
    6.4.3编写实现输出的jsp页面indexNew.jsp 195
    6.4.4编写控制器HelloWorldAction.java 197
    6.4.5配置config-servlet.xml 198
    6.4.6运行并验证示例 198
    6.5改善值的传递方式 200
    6.5.1从页面中获取值的方式 200
    6.5.2实现存放页面中获取值的接口InfoInAndOut.java 201
    6.5.3实现存放页面中获取值的实现类GdInfoInAndOut.java 203
    6.5.4把值返回到页面的方式 209
    6.5.5将值的传递方式与控制器进行整合 210
    6.5.6验证将值的传递方式与控制器整合后的框架 216
    6.6用改善后的Web框架实现一个用户登录的示例 221
    6.6.1在工程项目myApp中进行开发 221
    6.6.2配置web.xml文件 221
    6.6.3编写登录页面login.jsp 222
    6.6.4编写显示成功登录的页面success.jsp 224
    6.6.5编写存放用户登录信息的User.java 225
    6.6.6编写用户登录逻辑LoginAction.java 226
    6.6.7编写配置文件config-servlet.xml 227
    6.6.8运行并验证示例 228
    6.7改善多动作的处理方式 229
    6.7.1通过配置文件实现多动作映射 229
    6.7.2修改控制器实现Java反射机制 229
    6.7.3修改配置文件的获取方式 230
    6.8用改善后的Web框架实现一个用户注册的示例 236
    6.8.1在工程项目myApp中进行开发 236
    6.8.2编写实现用户注册的页面regedit.jsp 236
    6.8.3编写注册成功的页面success.jsp 238
    6.8.4编写修改用户密码的页面updatePassword.jsp 240
    6.8.5编写业务逻辑RegeditAction.java 242
    6.8.6编写存放用户登录信息的User.java 244
    6.8.7编写配置文件config-servlet.xml 245
    6.8.8配置web.xml文件 245
    6.8.9运行并验证示例 246
    6.9增加VO的数据验证功能 247
    6.9.1在VO中增加validate()方法 248
    6.9.2建立异常处理的体系结构 248
    6.9.3增加是否验证在配置文件中配置的功能 249
    6.9.4修改负责解析XML的GdParseXml.java 250
    6.9.5在GdInfoInAndOut.java中实现VO数据验证异常时的处理方式 250
    6.9.6与控制器进行整合 259
    6.10增加VO数据验证功能后用户注册的示例 259
    6.10.1修改业务逻辑RegeditAction.java 259
    6.10.2修改存放用户登录信息的User.java 262
    6.10.3修改配置文件config-servlet.xml为验证VO 263
    6.10.4运行并验证示例 263
    6.10.5修改配置文件config-servlet.xml为不验证VO 264
    6.10.6运行并验证示例 265
    6.11改善Action的功能 265
    6.11.1修改接口Action.java 265
    6.11.2修改Action的实现类GdAction.java 266
    6.11.3修改负责解析XML的GdParseXml.java 267
    6.11.4使控制器在执行对应方法前能进行初始化 273
    6.11.5在GdAction的doInit方法中实现VO验证 275
    6.11.6与控制器进行整合 277
    6.12改善Action功能后用户注册的示例 279
    6.12.1编写业务逻辑RegeditActionNew.java 280
    6.12.2修改配置文件使用改善后的RegeditActionNew.java 282
    6.12.3运行并验证示例 282
    6.12.4修改配置文件使用原来的RegeditAction.java 283
    6.12.5运行并验证示例 284
    6.13改善后的基于MVCModel2规范Web框架的整体结构 284
    6.13.1Web框架的包结构 284
    6.13.2控制器代码 285
    6.13.3将自己的Web框架打包成jar 291
    6.14小结 292
    第7章庖丁解牛:Web框架的持久层封装 293
    7.1JDBC数据访问技术 293
    7.1.1JDBC技术概述 293
    7.1.2JDBC的包结构 294
    7.1.3JDBC驱动程序 294
    7.2JDBC的主要对象和接口 295
    7.2.1Connection(数据库连接)接口 295
    7.2.2JDBCURL(统一资源定位符)协议 295
    7.2.3DriverManager(驱动管理)类 296
    7.2.4Statement(数据声明)接口 297
    7.2.5ResultSet(数据结果集)接口 298
    7.2.6ResultSetMetaData(数据结果集元数据)类 299
    7.2.7数据源和JNDI(Java命名和目录服务接口) 300
    7.3简述事务处理 302
    7.3.1事务处理概述 302
    7.3.2对事务处理特性的描述 303
    7.4在自己的Web框架中增加持久层处理 304
    7.4.1编写数据库连接的接口 304
    7.4.2编写数据库连接的实现类 305
    7.4.3编写数据库结果集的接口 307
    7.4.4编写数据库结果集的实现类 312
    7.4.5修改负责解析XML的类GdParseXml 333
    7.5持久层的使用方法 342
    7.5.1通过XAMPP来建立MySQL数据库 342
    7.5.2获取数据的使用方法 345
    7.5.3更新数据的使用方法 365
    7.5.4使用DAO来处理数据提取和存储 375
    7.6实现分页查询 382
    7.6.1编写实现分页功能的类GdPageCachedRowSet 382
    7.6.2编写将查询结果在页面中显示的管理类GdPage 386
    7.7实现分页查询的示例 393
    7.7.1向数据库表中新增多笔数据 393
    7.7.2编写显示分页查询数据的页面page.jsp 394
    7.7.3编写配置文件config-servlet.xml 397
    7.7.4运行并验证示例 397
    7.8小结 398
    第8章熟能生巧:自己动手写数据库连接池 400
    8.1数据库连接池概述 400
    8.1.1为什么要使用数据库连接池 400
    8.1.2数据库连接池的基本原理 400
    8.1.3数据库连接池的实现分析 401
    8.2数据库连接池的具体实现 402
    8.2.1实现创建连接池的接口 402
    8.2.2实现连接池的创建类 403
    8.2.3实现连接池的管理类 406
    8.2.4改写控制器 409
    8.2.5改写获取连接的方式 409
    8.2.6用数据库连接池实现用户注册的示例 410
    8.2.7比较使用数据库连接池前后的效率 411
    8.3使用Proxool连接池 416
    8.3.1Proxool的下载 416
    8.3.2Proxool的配置 418
    8.3.3Proxool的使用方法 418
    8.3.4查看数据库的运行状态 423
    8.4使用DBCP连接池 425
    8.4.1DBCP的下载 426
    8.4.2DBCP的配置 427
    8.4.3DBCP的使用方法 427
    8.4.4通过Tomcat使用DBCP的两种方式 431
    8.5使用c3p0连接池 435
    8.5.1c3p0的下载 436
    8.5.2c3p0的配置 437
    8.5.3c3p0的使用方法 437
    8.6小结 441

    第9章尽善尽美:自己动手写过滤器 442
    9.1过滤器概述 442
    9.1.1过滤器简介 442
    9.1.2过滤器的实现方式 443
    9.1.3过滤器的配置 443
    9.2编写访问记录的过滤器 444
    9.2.1编写访问记录过滤器 444
    9.2.2配置web.xml 450
    9.2.3示例验证 452
    9.3编写记录执行时间的过滤器 452
    9.3.1编写记录执行时间过滤器 452
    9.3.2配置web.xml 453
    9.3.3示例验证 455
    9.4编写设定编码的过滤器 455
    9.4.1编写设定编码过滤器 455
    9.4.2配置web.xml 457
    9.4.3示例验证 459
    9.5将GdServlet改为过滤器实现 459
    9.5.1编写解析配置文件的过滤器 459
    9.5.2编写数值转换的过滤器 462
    9.5.3编写方法调用的过滤器 464
    9.5.4编写返回页面的过滤器 467
    9.5.5配置web.xml 472
    9.5.6示例验证 475
    9.6小结 475
    第三篇Web框架与其他工具整合应用
    第10章集思广益:将Web框架与Hibernate整合 478
    10.1Hibernate概述 478
    10.1.1下载Hibernate 478
    10.1.2配置Hibernate 479
    10.2使用Hibernate自动生成代码的工具 479
    10.2.1使用MiddleGen从数据库定义文件生成映射文件 479
    10.2.2使用hbm2java从映射文件生成POJO 488
    10.3Web框架整合Hibernate实现用户注册的示例 491
    10.3.1整合Hibernate环境的配置 491
    10.3.2编写web.xml文件 491
    10.3.3编写用户注册页面regedit.jsp 494
    10.3.4编写用户注册成功页面success.jsp 495
    10.3.5建立数据库表结构 497
    10.3.6根据数据库表生成映射文件User.hbm.xml 497
    10.3.7根据映射文件生成POJO 498
    10.3.8编写接口UserDAOHibernate.java 499
    10.3.9编写实现类UserDAOHibernateImpl.java 500
    10.3.10编写配置文件config-servlet.xml 501
    10.3.11编写Hibernate的配置文件hibernate.cfg.xml 502
    10.3.12编写控制器RegeditActionHibernate.java 502
    10.3.13运行并验证用户注册示例 504
    10.4小结 505
    第11章画龙点睛:在Web框架中使用Log4j 506
    11.1Log4j介绍 506
    11.1.1Log4j简介 506
    11.1.2Log4j的结构 506
    11.2Log4j的下载和配置 507
    11.2.1下载Log4j 507
    11.2.2配置Log4j 507
    11.3Log4j的使用方法 507
    11.3.1获取Logger 507
    11.3.2指定日志输出位置 508
    11.3.3指定日志输出格式 508
    11.3.4指定日志输出优先级 509
    11.3.5一个完整的配置文件示例 509
    11.4在自己写的Web框架中使用Log4j 510
    11.4.1在Eclipse中配置Log4j 510
    11.4.2验证Log4j 510
    11.5小结 513
    第四篇Web框架实例
    第12章学以致用:用Web框架实现内容管理系统 516
    12.1内容管理系统的介绍 516
    12.2配置环境 516
    12.2.1Java与Eclipse环境配置 516
    12.2.2Tomcat与Eclipse环境配置 517
    12.2.3Ant与Eclipse环境配置 519
    12.3在Eclipse下建立项目myContent 519
    12.3.1在Eclipse下建立项目myContent 519
    12.3.2将本书中最新的Web框架打包 521
    12.3.3配置myContent项目 523
    12.3.4编写本项目的Antbuild文件 526
    12.3.5配置本项目的web.xml文件 527
    12.4分析并设计内容管理系统 530
    12.4.1获取内容管理系统的需求 531
    12.4.2设计内容管理系统的用例图 531
    12.4.3设计内容管理系统的界面原型 532
    12.4.4设计内容管理系统的控制层 547
    12.4.5设计内容管理系统的业务逻辑层 548
    12.4.6设计内容管理系统的持久层 548
    12.4.7通过MySQL建立数据库表 551
    12.5编写内容管理系统的JSP页面 559
    12.5.1编写用户注册页面regedit.jsp 559
    12.5.2编写用户登录页面login.jsp 561
    12.5.3编写登录成功页面success.jsp 563
    12.5.4编写设定内容类别页面type.jsp 565
    12.5.5编写内容编辑发布页面edit.jsp 568
    12.5.6编写首页页面index.jsp 571
    12.6编写内容管理系统的控制器类 576
    12.6.1编写注册控制器RegeditAction.java 576
    12.6.2编写登录控制器LoginAction.java 577
    12.6.3编写设定内容类别控制器SetTypeAction.java 578
    12.6.4编写内容编辑发布控制器EditAction.java 581
    12.6.5编写首页浏览控制器IndexAction.java 584
    12.7编写内容管理系统的业务逻辑类 585
    12.7.1编写用户登录接口Login.java 585
    12.7.2编写用户注册接口Regedit.java 586
    12.7.3编写设定内容类别接口SetContentType.java 586
    12.7.4编写内容编辑发布接口EditContent.java 587
    12.7.5编写用户登录实现类LoginImpl.java 587
    12.7.6编写用户注册实现类RegeditImpl.java 589
    12.7.7编写设定内容类别实现类SetContentTypeImpl.java 590
    12.7.8编写内容编辑发布实现类EditContentImpl.java 593
    12.8编写内容管理系统的持久层类 597
    12.8.1用户类User.java 597
    12.8.2内容类别类ContentType.java 598
    12.8.3内容类Content.java 600
    12.8.4用户DAO接口UserDAO.java 602
    12.8.5内容类别DAO接口ContentTypeDAO.java 603
    12.8.6内容DAO接口ContentDAO.java 605
    12.8.7用户DAO实现类UserDAOImpl.java 606
    12.8.8内容类别DAO实现类ContentTypeDAOImpl.java 608
    12.8.9内容DAO实现类ContentDAOImpl.java 611
    12.9编写配置文件myContent.xml 614
    12.10运行验证程序 615
    12.10.1验证用户注册的功能 615
    12.10.2验证用户登录的功能 617
    12.10.3验证设定内容类别的功能 618
    12.10.4验证发布内容的功能 619
    12.10.5验证浏览首页的功能 622
    12.11小结 623
  • 内容简介:
      本书由浅入深、循序渐进地介绍了MVC的体系结构和如何构建一个基于MVC的Web框架,目的是帮助软件开发人员快速掌握MVC的设计思想,并能使用MVC的内涵设计Web框架。全书共分12章。第1章详细介绍MVC的设计思想、优缺点,以及如何构建一个基于MVC的Web框架;通过这部分知识的介绍,建立起读者对MVC的理论基础。第2~9章将逐步实现一个基于MVC的Web框架和持久层框架;读者可以通过这部分内容的学习,掌握其实现细节和核心设计方式。第10~11章主要介绍如何将自己实现的Web框架与其他工具进行整合;读者通过这部分内容的学习,可以将本书中实现的Web框架与目前许多开源项目,如Hibernate、Log4j等整合起来,以方便开发。第12章主要通过一个内容管理系统实例来验证本书所实现的框架;读者通过这部分内容的学习,可以熟练掌握本书所实现的Web框架的使用方法。
      本书采用Struts和Spring的一些优点,通过一步一步的讲解,使读者真正掌握MVC的核心思想和实现方法。本书适合于初、中、高级软件开发人员阅读,同时也可作为高校相关专业和社会培训班的教材。
      本书含光盘一张
  • 目录:
    第1章运筹帷幄:Web框架的核心思想 2
    1.1MVC模式 2
    1.1.1MVC模式概述 2
    1.1.2MVC模式的结构 3
    1.1.3MVC模式的设计思想 4
    1.1.4MVC模式的处理过程 5
    1.2Model规范 5
    1.2.1Model1规范 6
    1.2.2Model2规范 6
    1.3使用MVC的优缺点 7
    1.3.1使用MVC模式的优点 7
    1.3.2使用MVC模式的不足 8
    1.4如何构建一个基于MVC的Web框架 8
    1.4.1Web框架的设计流程 9
    1.4.2View(视图)层的设计 9
    1.4.3Controller(控制)层的设计 10
    1.4.4Model(模型)层的设计 10
    1.5网络上的资源 11
    1.6小结 12
    第2章未雨绸缪:快速准备Web框架的开发环境 13
    2.1快速建立Java的开发环境 13

    2.1.1下载JDK 13
    2.1.2安装JDK 14
    2.1.3设定PATH与CLASSPATH 15
    2.1.4验证JDK是否安装成功 16
    2.1.5下载Eclipse 17
    2.1.6配置Eclipse 18
    2.2快速建立Web框架的运行环境 18
    2.2.1下载Tomcat 18
    2.2.2设定TOMCAT_HOME 19
    2.2.3下载Eclipse的Tomcat插件 19
    2.2.4为Eclipse配置Tomcat插件 20
    2.2.5验证为Eclipse配置Tomcat是否成功 21
    2.2.6在Eclipse中建立工程项目myApp 22
    2.3第一个使用JSP实现HelloWorld的例子 24
    2.3.1编写输出HelloWorld的JSP文件HelloWorld.jsp 25
    2.3.2运行JSP并查看输出结果 26
    2.4使用Servlet实现HelloWorld的例子 26
    2.4.1编写输出HelloWorld的Servlet文件HelloWorld.java 26
    2.4.2编写配置文件web.xml 27
    2.4.3运行Servlet并查看输出结果 27
    2.5小结 28
    第3章温故知新:快速掌握开发Web框架的基础知识 29
    3.1JSP快速入门 29
    3.1.1什么是JSP 29
    3.1.2JSP的设计目标 29
    3.2JSP的一些重点语法 30
    3.2.1基本语句 30
    3.2.2数据类型和变量命名 30
    3.2.3转义字符 30
    3.2.4注释 30
    3.2.5get和post的区别 32
    3.2.6include和的区别 32
    3.2.7forward和sendRedirect的区别 34
    3.3JSP的内置对象 34
    3.3.1request对象 35
    3.3.2response对象 36
    3.3.3pageContext对象 37
    3.3.4session对象 38
    3.3.5application对象 38
    3.3.6out对象 39
    3.4Servlet快速入门 39
    3.4.1什么是Servlet 39
    3.4.2Servlet的特点 40
    3.4.3Servlet的生命周期 40
    3.4.4Filter技术 41
    3.4.5web.xml详解 44
    3.5JavaScript快速入门 47
    3.5.1什么是JavaScript 47
    3.5.2JavaScript的特点 47
    3.6JavaScript的基本语法 48
    3.6.1数据类型和变量命名 48
    3.6.2运算符和表达式 49
    3.6.3控制语句 49
    3.6.4自定义函数 50
    3.6.5系统内部函数 51
    3.6.6注释 51
    3.7用JavaScript实现网页拖动示例 51
    3.7.1功能演示 52
    3.7.2实现原理 54
    3.7.3示例源代码 58
    3.8小结 63
    第二篇构建自己的Web框架
    第4章力学笃行:快速实现自己的Web框架 66
    4.1使用MVCModel2规范实现Web框架的示意图 66
    4.2视图层设计 67
    4.2.1使用JSP 67
    4.2.2数据的提交和获取方式 67
    4.2.3定义几个通用的JavaScript函数 69
    4.2.4一个较为完整的JSP示例 69
    4.3控制层设计 72
    4.3.1使用Servlet 72
    4.3.2获取从视图层传来的值 72
    4.3.3处理请求到模型层 73
    4.3.4返回视图层 74
    4.3.5定义web.xml文件 74
    4.3.6一个完整的控制层示例GdServlet.java 75
    4.4模型层设计 77
    4.4.1实现一个公用的接口Action.java 77
    4.4.2所有的模型层类都实现这个接口 77
    4.4.3一个完整的模型层示例 79
    4.5通过实现HelloWorld示例来验证框架 81
    4.5.1编写实现输出的页面index.jsp 81
    4.5.2编写业务逻辑HelloWorldAction.java 83
    4.5.3配置web.xml文件 84
    4.5.4运行并验证示例 84
    4.6通过实现用户登录示例来验证框架 85
    4.6.1编写实现登录的页面login.jsp 85
    4.6.2编写登录成功的页面success.jsp 87
    4.6.3编写业务逻辑LoginAction.java 89
    4.6.4配置web.xml文件 90
    4.6.5运行并验证示例 90
    4.6.6修改LoginAction.java自定义返回的页面 92
    4.6.7重新验证示例 93
    4.7让新的Web框架支持sendRedirect 94
    4.7.1为什么要支持sendRedirect 94
    4.7.2修改控制器中返回视图层的设计 94
    4.7.3增加实现接口Action的类GdAction.java 95
    4.7.4设计默认的欢迎页面welcome.jsp 96
    4.7.5验证是否支持sendRedirect 97
    4.8使用MVCModel2规范实现Web框架的完整代码 97
    4.8.1视图层代码 97
    4.8.2控制器代码 99
    4.8.3模型层代码 102
    4.8.4将自己的Web框架打包成jar 103
    4.9使用打包好的jar开发一个实现用户注册的示例 104
    4.9.1在Eclipse中建立Tomcat工程项目myMVC并配置开发环境 104
    4.9.2编写实现用户注册的页面regedit.jsp 107
    4.9.3编写注册成功的页面success.jsp 108
    4.9.4编写修改用户密码的页面updatePassword.jsp 110
    4.9.5编写业务逻辑RegeditAction.java 112
    4.9.6配置web.xml文件 115
    4.9.7运行并验证示例 115
    4.10小结 118
    第5章穿壁引光:将自己的Web框架与Struts进行对比 119
    5.1Struts概述 119
    5.1.1Struts介绍 119
    5.1.2Struts的主要功能和特点 119
    5.1.3Struts的工作原理 120
    5.2使用Struts的环境配置 120
    5.2.1Struts下载 120
    5.2.2Struts环境配置 120
    5.3一个在JSP页面输出“HelloWorld”的Struts示例 123
    5.3.1配置web.xml文件 123
    5.3.2编写实现输出的JSP页面index.jsp 124
    5.3.3编写控制器HelloWorldAction.java 125
    5.3.4配置Struts文档struts-config.xml 125
    5.3.5运行并验证示例 126
    5.4对两种实现“HelloWorld”的示例进行分析 126
    5.4.1Struts和自己的Web框架的相同点 126
    5.4.2Struts和自己的Web框架的不同点 127
    5.5Struts的实现方式 127
    5.5.1ActionServlet(控制器) 127
    5.5.2Action(适配器) 130
    5.5.3ActionMapping(映射) 131
    5.5.4ActionForm(数据存储) 135
    5.5.5DispatchAction(多动作控制器) 138
    5.6用Struts实现用户登录的示例 141
    5.6.1编写实现登录的页面login.jsp 141
    5.6.2编写登录成功的页面success.jsp 142
    5.6.3编写ActionForm为User.java 142
    5.6.4编写业务逻辑LoginAction.java 143
    5.6.5配置Struts文档struts-config.xml 144
    5.6.6配置web.xml文件 144
    5.6.7运行并验证示例 145
    5.7比较Struts和自己的Web框架 145
    5.7.1体系结构的比较 145
    5.7.2ActionServlet和GdServlet进行比较 146
    5.7.3Struts的Action和自己框架的Action进行比较 154
    5.7.4对于返回页面的映射方式进行比较 163
    5.7.5对于表单的提交方式进行比较 165
    5.7.6对于多动作的处理方式进行比较 168
    5.7.7Struts和自己的Web框架对比总结 174
    5.8小结 174
    第6章循序渐进:逐步改善自己的Web框架 175
    6.1要改善的内容 175
    6.1.1对返回页面的映射方式的改善 175
    6.1.2对表单提交方式的改善 176
    6.1.3对多动作处理方式的改善 177
    6.2改善自己Web框架的包结构 178
    6.3改善返回页面的映射方式 178
    6.3.1在自己的Web框架中增加配置文件 178
    6.3.2Dom4j简介 179
    6.3.3解析XML 181
    6.3.4将解析方法与控制器进行整合 187
    6.4用改善后的Web框架实现“HelloWorld”的示例 194
    6.4.1在工程项目myApp中进行开发 195
    6.4.2配置web.xml文件 195
    6.4.3编写实现输出的jsp页面indexNew.jsp 195
    6.4.4编写控制器HelloWorldAction.java 197
    6.4.5配置config-servlet.xml 198
    6.4.6运行并验证示例 198
    6.5改善值的传递方式 200
    6.5.1从页面中获取值的方式 200
    6.5.2实现存放页面中获取值的接口InfoInAndOut.java 201
    6.5.3实现存放页面中获取值的实现类GdInfoInAndOut.java 203
    6.5.4把值返回到页面的方式 209
    6.5.5将值的传递方式与控制器进行整合 210
    6.5.6验证将值的传递方式与控制器整合后的框架 216
    6.6用改善后的Web框架实现一个用户登录的示例 221
    6.6.1在工程项目myApp中进行开发 221
    6.6.2配置web.xml文件 221
    6.6.3编写登录页面login.jsp 222
    6.6.4编写显示成功登录的页面success.jsp 224
    6.6.5编写存放用户登录信息的User.java 225
    6.6.6编写用户登录逻辑LoginAction.java 226
    6.6.7编写配置文件config-servlet.xml 227
    6.6.8运行并验证示例 228
    6.7改善多动作的处理方式 229
    6.7.1通过配置文件实现多动作映射 229
    6.7.2修改控制器实现Java反射机制 229
    6.7.3修改配置文件的获取方式 230
    6.8用改善后的Web框架实现一个用户注册的示例 236
    6.8.1在工程项目myApp中进行开发 236
    6.8.2编写实现用户注册的页面regedit.jsp 236
    6.8.3编写注册成功的页面success.jsp 238
    6.8.4编写修改用户密码的页面updatePassword.jsp 240
    6.8.5编写业务逻辑RegeditAction.java 242
    6.8.6编写存放用户登录信息的User.java 244
    6.8.7编写配置文件config-servlet.xml 245
    6.8.8配置web.xml文件 245
    6.8.9运行并验证示例 246
    6.9增加VO的数据验证功能 247
    6.9.1在VO中增加validate()方法 248
    6.9.2建立异常处理的体系结构 248
    6.9.3增加是否验证在配置文件中配置的功能 249
    6.9.4修改负责解析XML的GdParseXml.java 250
    6.9.5在GdInfoInAndOut.java中实现VO数据验证异常时的处理方式 250
    6.9.6与控制器进行整合 259
    6.10增加VO数据验证功能后用户注册的示例 259
    6.10.1修改业务逻辑RegeditAction.java 259
    6.10.2修改存放用户登录信息的User.java 262
    6.10.3修改配置文件config-servlet.xml为验证VO 263
    6.10.4运行并验证示例 263
    6.10.5修改配置文件config-servlet.xml为不验证VO 264
    6.10.6运行并验证示例 265
    6.11改善Action的功能 265
    6.11.1修改接口Action.java 265
    6.11.2修改Action的实现类GdAction.java 266
    6.11.3修改负责解析XML的GdParseXml.java 267
    6.11.4使控制器在执行对应方法前能进行初始化 273
    6.11.5在GdAction的doInit方法中实现VO验证 275
    6.11.6与控制器进行整合 277
    6.12改善Action功能后用户注册的示例 279
    6.12.1编写业务逻辑RegeditActionNew.java 280
    6.12.2修改配置文件使用改善后的RegeditActionNew.java 282
    6.12.3运行并验证示例 282
    6.12.4修改配置文件使用原来的RegeditAction.java 283
    6.12.5运行并验证示例 284
    6.13改善后的基于MVCModel2规范Web框架的整体结构 284
    6.13.1Web框架的包结构 284
    6.13.2控制器代码 285
    6.13.3将自己的Web框架打包成jar 291
    6.14小结 292
    第7章庖丁解牛:Web框架的持久层封装 293
    7.1JDBC数据访问技术 293
    7.1.1JDBC技术概述 293
    7.1.2JDBC的包结构 294
    7.1.3JDBC驱动程序 294
    7.2JDBC的主要对象和接口 295
    7.2.1Connection(数据库连接)接口 295
    7.2.2JDBCURL(统一资源定位符)协议 295
    7.2.3DriverManager(驱动管理)类 296
    7.2.4Statement(数据声明)接口 297
    7.2.5ResultSet(数据结果集)接口 298
    7.2.6ResultSetMetaData(数据结果集元数据)类 299
    7.2.7数据源和JNDI(Java命名和目录服务接口) 300
    7.3简述事务处理 302
    7.3.1事务处理概述 302
    7.3.2对事务处理特性的描述 303
    7.4在自己的Web框架中增加持久层处理 304
    7.4.1编写数据库连接的接口 304
    7.4.2编写数据库连接的实现类 305
    7.4.3编写数据库结果集的接口 307
    7.4.4编写数据库结果集的实现类 312
    7.4.5修改负责解析XML的类GdParseXml 333
    7.5持久层的使用方法 342
    7.5.1通过XAMPP来建立MySQL数据库 342
    7.5.2获取数据的使用方法 345
    7.5.3更新数据的使用方法 365
    7.5.4使用DAO来处理数据提取和存储 375
    7.6实现分页查询 382
    7.6.1编写实现分页功能的类GdPageCachedRowSet 382
    7.6.2编写将查询结果在页面中显示的管理类GdPage 386
    7.7实现分页查询的示例 393
    7.7.1向数据库表中新增多笔数据 393
    7.7.2编写显示分页查询数据的页面page.jsp 394
    7.7.3编写配置文件config-servlet.xml 397
    7.7.4运行并验证示例 397
    7.8小结 398
    第8章熟能生巧:自己动手写数据库连接池 400
    8.1数据库连接池概述 400
    8.1.1为什么要使用数据库连接池 400
    8.1.2数据库连接池的基本原理 400
    8.1.3数据库连接池的实现分析 401
    8.2数据库连接池的具体实现 402
    8.2.1实现创建连接池的接口 402
    8.2.2实现连接池的创建类 403
    8.2.3实现连接池的管理类 406
    8.2.4改写控制器 409
    8.2.5改写获取连接的方式 409
    8.2.6用数据库连接池实现用户注册的示例 410
    8.2.7比较使用数据库连接池前后的效率 411
    8.3使用Proxool连接池 416
    8.3.1Proxool的下载 416
    8.3.2Proxool的配置 418
    8.3.3Proxool的使用方法 418
    8.3.4查看数据库的运行状态 423
    8.4使用DBCP连接池 425
    8.4.1DBCP的下载 426
    8.4.2DBCP的配置 427
    8.4.3DBCP的使用方法 427
    8.4.4通过Tomcat使用DBCP的两种方式 431
    8.5使用c3p0连接池 435
    8.5.1c3p0的下载 436
    8.5.2c3p0的配置 437
    8.5.3c3p0的使用方法 437
    8.6小结 441

    第9章尽善尽美:自己动手写过滤器 442
    9.1过滤器概述 442
    9.1.1过滤器简介 442
    9.1.2过滤器的实现方式 443
    9.1.3过滤器的配置 443
    9.2编写访问记录的过滤器 444
    9.2.1编写访问记录过滤器 444
    9.2.2配置web.xml 450
    9.2.3示例验证 452
    9.3编写记录执行时间的过滤器 452
    9.3.1编写记录执行时间过滤器 452
    9.3.2配置web.xml 453
    9.3.3示例验证 455
    9.4编写设定编码的过滤器 455
    9.4.1编写设定编码过滤器 455
    9.4.2配置web.xml 457
    9.4.3示例验证 459
    9.5将GdServlet改为过滤器实现 459
    9.5.1编写解析配置文件的过滤器 459
    9.5.2编写数值转换的过滤器 462
    9.5.3编写方法调用的过滤器 464
    9.5.4编写返回页面的过滤器 467
    9.5.5配置web.xml 472
    9.5.6示例验证 475
    9.6小结 475
    第三篇Web框架与其他工具整合应用
    第10章集思广益:将Web框架与Hibernate整合 478
    10.1Hibernate概述 478
    10.1.1下载Hibernate 478
    10.1.2配置Hibernate 479
    10.2使用Hibernate自动生成代码的工具 479
    10.2.1使用MiddleGen从数据库定义文件生成映射文件 479
    10.2.2使用hbm2java从映射文件生成POJO 488
    10.3Web框架整合Hibernate实现用户注册的示例 491
    10.3.1整合Hibernate环境的配置 491
    10.3.2编写web.xml文件 491
    10.3.3编写用户注册页面regedit.jsp 494
    10.3.4编写用户注册成功页面success.jsp 495
    10.3.5建立数据库表结构 497
    10.3.6根据数据库表生成映射文件User.hbm.xml 497
    10.3.7根据映射文件生成POJO 498
    10.3.8编写接口UserDAOHibernate.java 499
    10.3.9编写实现类UserDAOHibernateImpl.java 500
    10.3.10编写配置文件config-servlet.xml 501
    10.3.11编写Hibernate的配置文件hibernate.cfg.xml 502
    10.3.12编写控制器RegeditActionHibernate.java 502
    10.3.13运行并验证用户注册示例 504
    10.4小结 505
    第11章画龙点睛:在Web框架中使用Log4j 506
    11.1Log4j介绍 506
    11.1.1Log4j简介 506
    11.1.2Log4j的结构 506
    11.2Log4j的下载和配置 507
    11.2.1下载Log4j 507
    11.2.2配置Log4j 507
    11.3Log4j的使用方法 507
    11.3.1获取Logger 507
    11.3.2指定日志输出位置 508
    11.3.3指定日志输出格式 508
    11.3.4指定日志输出优先级 509
    11.3.5一个完整的配置文件示例 509
    11.4在自己写的Web框架中使用Log4j 510
    11.4.1在Eclipse中配置Log4j 510
    11.4.2验证Log4j 510
    11.5小结 513
    第四篇Web框架实例
    第12章学以致用:用Web框架实现内容管理系统 516
    12.1内容管理系统的介绍 516
    12.2配置环境 516
    12.2.1Java与Eclipse环境配置 516
    12.2.2Tomcat与Eclipse环境配置 517
    12.2.3Ant与Eclipse环境配置 519
    12.3在Eclipse下建立项目myContent 519
    12.3.1在Eclipse下建立项目myContent 519
    12.3.2将本书中最新的Web框架打包 521
    12.3.3配置myContent项目 523
    12.3.4编写本项目的Antbuild文件 526
    12.3.5配置本项目的web.xml文件 527
    12.4分析并设计内容管理系统 530
    12.4.1获取内容管理系统的需求 531
    12.4.2设计内容管理系统的用例图 531
    12.4.3设计内容管理系统的界面原型 532
    12.4.4设计内容管理系统的控制层 547
    12.4.5设计内容管理系统的业务逻辑层 548
    12.4.6设计内容管理系统的持久层 548
    12.4.7通过MySQL建立数据库表 551
    12.5编写内容管理系统的JSP页面 559
    12.5.1编写用户注册页面regedit.jsp 559
    12.5.2编写用户登录页面login.jsp 561
    12.5.3编写登录成功页面success.jsp 563
    12.5.4编写设定内容类别页面type.jsp 565
    12.5.5编写内容编辑发布页面edit.jsp 568
    12.5.6编写首页页面index.jsp 571
    12.6编写内容管理系统的控制器类 576
    12.6.1编写注册控制器RegeditAction.java 576
    12.6.2编写登录控制器LoginAction.java 577
    12.6.3编写设定内容类别控制器SetTypeAction.java 578
    12.6.4编写内容编辑发布控制器EditAction.java 581
    12.6.5编写首页浏览控制器IndexAction.java 584
    12.7编写内容管理系统的业务逻辑类 585
    12.7.1编写用户登录接口Login.java 585
    12.7.2编写用户注册接口Regedit.java 586
    12.7.3编写设定内容类别接口SetContentType.java 586
    12.7.4编写内容编辑发布接口EditContent.java 587
    12.7.5编写用户登录实现类LoginImpl.java 587
    12.7.6编写用户注册实现类RegeditImpl.java 589
    12.7.7编写设定内容类别实现类SetContentTypeImpl.java 590
    12.7.8编写内容编辑发布实现类EditContentImpl.java 593
    12.8编写内容管理系统的持久层类 597
    12.8.1用户类User.java 597
    12.8.2内容类别类ContentType.java 598
    12.8.3内容类Content.java 600
    12.8.4用户DAO接口UserDAO.java 602
    12.8.5内容类别DAO接口ContentTypeDAO.java 603
    12.8.6内容DAO接口ContentDAO.java 605
    12.8.7用户DAO实现类UserDAOImpl.java 606
    12.8.8内容类别DAO实现类ContentTypeDAOImpl.java 608
    12.8.9内容DAO实现类ContentDAOImpl.java 611
    12.9编写配置文件myContent.xml 614
    12.10运行验证程序 615
    12.10.1验证用户注册的功能 615
    12.10.2验证用户登录的功能 617
    12.10.3验证设定内容类别的功能 618
    12.10.4验证发布内容的功能 619
    12.10.5验证浏览首页的功能 622
    12.11小结 623
查看详情
好书推荐 / 更多
自己动手写Struts
人文与社会译丛:历史与记忆(记忆史研究指导之书)
杰弗里·丘比特 著;王晨凤 译
自己动手写Struts
汗青堂丛书076·天女临凡:从宋到清的后宫生活与帝国政事
[美]马克梦 后浪
自己动手写Struts
甲骨文丛书·根部之血:美国的一次种族清洗
[美]帕特里克·菲利普斯
自己动手写Struts
鼓楼新悦丛书.蛮族世界的拼图:欧洲史前居民百科全书(随考古学家一起,拼一幅蛮族世界的拼图)
[波兰]彼得·柏伽基(Peter Bogucki) 著;朱鸿飞 译
自己动手写Struts
好望角丛书·毁灭与重生:日本昭和时代(1926—1989)
[日]古川隆久
自己动手写Struts
日本及其历史枷锁
R.塔格特·墨菲
自己动手写Struts
视觉艺术的现象学(当代学术棱镜译丛)
[英]保罗·克劳瑟(Paul Crowther) 著;李牧 译
自己动手写Struts
艺术与国家:比较视野中的视觉艺术(艺术社会学经典)
玛里林·鲁施迈耶 著;赵卿 译;维多利亚·D.亚历山大
自己动手写Struts
她来自马里乌波尔
[德]娜塔莎·沃丁 著;[德]祁沁雯 译
自己动手写Struts
大师与他们的音乐:指挥的艺术与魔力
[美]约翰·毛切里
自己动手写Struts
蚂蚁三部曲 超越人类的文明不在遥远的外星,它可能就在我们脚下
蔡孟真 袁晶等 后浪 译者;[法]贝尔纳·韦尔贝尔(Bernard Werber)
自己动手写Struts
墨比斯漫画精选集
[法]墨比斯 著;朱洁 叶蔚林 赵心舒 译