本书由浅入深、循序渐进地介绍了MVC的体系结构和如何构建一个基于MVC的Web框架,目的是帮助软件开发人员快速掌握MVC的设计思想,并能使用MVC的内涵设计Web框架。全书共分12章。第1章详细介绍MVC的设计思想、优缺点,以及如何构建一个基于MVC的Web框架;通过这部分知识的介绍,建立起读者对MVC的理论基础。第2~9章将逐步实现一个基于MVC的Web框架和持久层框架;读者可以通过这部分内容的学习,掌握其实现细节和核心设计方式。第10~11章主要介绍如何将自己实现的Web框架与其他工具进行整合;读者通过这部分内容的学习,可以将本书中实现的Web框架与目前许多开源项目,如Hibernate、Log4j等整合起来,以方便开发。第12章主要通过一个内容管理系统实例来验证本书所实现的框架;读者通过这部分内容的学习,可以熟练掌握本书所实现的Web框架的使用方法。\r\n 本书采用Struts和Spring的一些优点,通过一步一步的讲解,使读者真正掌握MVC的核心思想和实现方法。本书适合于初、中、高级软件开发人员阅读,同时也可作为高校相关专业和社会培训班的教材。
第一篇 Web框架入门\r\n 第1章 运筹帷幄:Web框架的核心思想 \r\n 1.1 MVC模式 \r\n 1.2 Model规范 \r\n 1.3 使用MVC的优缺点 \r\n 1.4 如何构建一个基于MVC的Web框架 \r\n 1.5 网络上的资源 \r\n 1.6 小结 \r\n 第2章 未雨绸缪:快速准备Web框架的开发环境 \r\n 2.1 快速建立Java的开发环境 \r\n 2.2 快速建立Web框架的运行环境 \r\n 2.3 第一个使用JSP实现HelloWorld的例子 \r\n 2.4 使用Servlet实现HelloWorld的例子 \r\n 2.5 小结 \r\n 第3章 温故知新:快速掌握开发Web框架的基础知识 \r\n 3.1 JSP快速入门 \r\n 3.2 JSP的一些重点语法 \r\n 3.3 JSP的内置对象 \r\n 3.4 Servlet快速入门 \r\n 3.5 JavaScript快速入门 \r\n 3.6 JavaScript的基本语法 \r\n 3.7 用JavaScript实现网页拖动示例 \r\n 3.8 小结 \r\n第二篇 构建自己的Web框架\r\n 第4章 力学笃行:快速实现自己的Web框架 \r\n 4.1 使用MVC Model 2规范实现Web框架的示意图 \r\n 4.2 视图层设计 \r\n 4.3 控制层设计 \r\n 4.4 模型层设计 \r\n 4.5 通过实现HelloWorld示例来验证框架 \r\n 4.6 通过实现用户登录示例来验证框架 \r\n 4.7 让新的Web框架支持sendRedirect \r\n 4.8 使用MVC Model 2规范实现Web框架的完整代码 \r\n 4.9 使用打包好的jar开发一个实现用户注册的示例 \r\n 4.10 小结 \r\n 第5章 穿壁引光:将自己的Web框架与Struts进行对比 \r\n 5.1 Struts概述 \r\n 5.2 使用Struts的环境配置 \r\n 5.3 一个在JSP页面输出“HelloWorld”的Struts示例 \r\n 5.4 对两种实现“HelloWorld”的示例进行分析 \r\n 5.5 Struts的实现方式 \r\n 5.6 用Struts实现用户登录的示例 \r\n 5.7 比较Struts和自己的Web框架 \r\n 5.8 小结 \r\n 第6章 循序渐进:逐步改善自己的Web框架 \r\n 6.1 要改善的内容 \r\n 6.2 改善自己Web框架的包结构 \r\n 6.3 改善返回页面的映射方式 \r\n 6.4 用改善后的Web框架实现“HelloWorld”的示例 \r\n 6.5 改善值的传递方式 \r\n 6.6 用改善后的Web框架实现一个用户登录的示例 \r\n 6.7 改善多动作的处理方式 \r\n 6.8 用改善后的Web框架实现一个用户注册的示例 \r\n 6.9 增加VO的数据验证功能 \r\n 6.10 增加VO数据验证功能后用户注册的示例 \r\n 6.11 改善Action的功能 \r\n 6.12 改善Action功能后用户注册的示例 \r\n 6.13 改善后的基于MVC Model 2规范Web框架的整体结构 \r\n 6.14 小结 \r\n 第7章 庖丁解牛:Web框架的持久层封装 \r\n 7.1 JDBC数据访问技术 \r\n 7.2 JDBC的主要对象和接口 \r\n 7.3 简述事务处理 \r\n 7.4 在自己的Web框架中增加持久层处理 \r\n 7.5 持久层的使用方法 \r\n 7.6 实现分页查询 \r\n 7.7 实现分页查询的示例 \r\n 7.8 小结 \r\n 第8章 熟能生巧:自己动手写数据库连接池 \r\n 8.1 数据库连接池概述 \r\n 8.2 数据库连接池的具体实现 \r\n 8.3 使用Proxool连接池 \r\n 8.4 使用DBCP连接池 \r\n 8.5 使用c3p0连接池 \r\n 8.6 小结 \r\n 第9章 尽善尽美:自己动手写过滤器 \r\n 9.1 过滤器概述 \r\n 9.2 编写访问记录的过滤器 \r\n 9.3 编写记录执行时间的过滤器 \r\n 9.4 编写设定编码的过滤器 \r\n 9.5 将GdServlet改为过滤器实现 \r\n 9.6 小结 \r\n第三篇 Web框架与其他工具整合应用\r\n 第10章 集思广益:将Web框架与Hibernate整合 \r\n 10.1 Hibernate概述 \r\n 10.2 使用Hibernate自动生成代码的工具 \r\n 10.3 Web框架整合Hibernate实现用户注册的示例 \r\n 10.4 小结 \r\n 第11章 画龙点睛:在Web框架中使用Log4j \r\n 11.1 Log4j介绍 \r\n 11.2 Log4j的下载和配置 \r\n 11.3 Log4j的使用方法 \r\n 11.4 在自己写的Web框架中使用Log4j \r\n 11.5 小结 \r\n第四篇 Web框架实例\r\n 第12章 学以致用:用Web框架实现内容管理系统 \r\n 12.1 内容管理系统的介绍 \r\n 12.2 配置环境 \r\n 12.3 在Eclipse下建立项目myContent \r\n 12.4 分析并设计内容管理系统 \r\n 12.5 编写内容管理系统的JSP页面 \r\n 12.6 编写内容管理系统的控制器类 \r\n 12.7 编写内容管理系统的业务逻辑类 \r\n 12.8 编写内容管理系统的持久层类 \r\n 12.9 编写配置文件myContent.xml \r\n 12.10 运行验证程序 \r\n 12.11 小结
问题的提出
又一个客户来抱怨了,原来他们企业自己培养的开发人员,在修改了Struts的一些配置文件后,整个系统就崩溃掉了,再恢复成原来的配置,仍然不能正常运行,客户却又不知道问题出在哪里。
您是不是也遇到过类似的问题呢?按照书中的示例代码,将程序录入进去,正确的运行结果却没有出来,也没有相应的日志提示,想调试一下,但使用的却只是一个jar;想看一下相关资料,中文的作者没有讲清楚,英文的却又看不懂。
唉,算了,用别人的东西就是麻烦,自己动手写吧,结果JSP中代码满天飞,数据库连接的代码比比皆是,小的项目还行,如果遇到大的项目,改了这个地方,又影响了另外的地方,到最后,再也不敢改现有的代码了,只能从头再来。
我想,现在很多开发人员都会遇到类似的问题:使用国外的项目,不能进行源代码的调试,教科书只是讲解如何使用,并没有讲解类似的调试细节;使用自己编写的框架,视图和逻辑代码纠缠在一起,牵一发而动全身。
《自己动手写Struts》横空出世
现在,不用再担心上述问题了,本书完整地实现了一个基于MVC的Web框架,手把手地教读者自己动手来实现一个类似于Struts的Web框架。通过该框架,把原来开发人员针对一个系统的输入、输出、处理流程编程的方式改为按照模型层、视图层、控制层进行分解,从而使得整个系统的结构责任明确、接口清晰。该框架帮助开发人员加快了设计开发的过程,也使得调试变得轻松起来。
读者也不用担心该框架是否能完成大型项目的开发问题,经过笔者所负责的几个大型制造企业ERP项目的实践,该框架完全能满足企业应用的实际需求。
为了帮助众多初学者快速掌握并能设计一个基于MVC的Web框架,笔者精心编著了本书。本书依照读者的学习规律,首先介绍基本概念和基本操作,在读者掌握了这些基本概念和基本操作的基础上,再对内容进行深入的讲解,严格遵循由浅入深、循序渐进的原则。本书按照应该对MVC的知识进行掌握的先后顺序进行编排。
本书包括的内容
第1章是Web框架介绍。本章主要对MVC模式进行一个比较详细的讲解,从MVC的设计思想开始,通过对MVC的结构和处理过程、Model规范的讲解,以及对MVC模式优劣的比较,介绍如何构建一个基于MVC的Web框架的大体思路。
第2章是快速准备Web框架的开发运行环境。本章的主要目的是建立Web框架开发运行的环境,然后通过使用JSP和Servlet实现的示例来回顾一下JSP、Servlet通常的开发过程,用来和后面采用MVC模式实现的Web框架进行比较,以使读者对此有更深入的理解。
第3章是快速掌握开发Web框架的基础知识。要进行Web框架的开发,与其相关的技术是必须要掌握的。在开始构建Web框架之前,先介绍一下在构建框架过程中会使用到的一些基础知识,比如:JSP、Servlet和JavaScript等,这里不会对它们进行长篇大论地讲解,而是做一个简单的介绍,可以说是笔者在学习过程中的一些总结和归纳,并且是后面章节中会使用到的技术。
第4章是快速实现自己的Web框架。在本章中,首先给出所要实现框架的示意图,然后分别从视图层设计、控制层设计和模型层设计分别来进行讲解,最后使用一个简单的示例来验证所实现的框架。
第5章是将自己的Web框架与Struts进行对比。本章首先着重介绍Struts是如何实现控制器的,它的Action是如何运行的,以及在返回视图层的映射方式、表单的取值方式和多动作的处理等方面是如何实现的,目的是使读者能够清楚了解Struts在这些方面的处理方式;然后将Struts和本书中的Web框架进行对比,看它们的实现方式有哪些不同,并提出改进的方案。
第6章是逐步改善自己的Web框架。本章首先介绍要改善的要点,然后分别讲解要改善的设计细节,并对每次改善都通过相应的示例来验证。
第7章是Web框架的持久层封装。本章主要讲解持久层的设计,首先对JDBC进行简单讲解,然后概述一下事务处理的概念,最后实现一个持久层并通过示例验证它。
第8章是自己动手写数据库连接池。本章首先对数据库的基本工作原理进行讲解,接着实现一个数据库连接池,目的是让读者对数据库连接池的实现方式有一个深入的认识,然后讲解目前的一些开源数据库连接池的使用方法。
第9章是自己动手写过滤器。笔者使用Servlet来实现控制器的功能,把解析配置文件、转换页面中元素的值、调用对应的方法,以及返回指定页面都放在了Servlet中,使得功能划分不清,以后维护起来比较麻烦,而Servlet的过滤器提供了在转入Servlet之前可以提前进行处理的功能。本章将用过滤器来实现以前全部在Servlet中实现的功能。
第10章是将自己写的Web框架与Hibernate整合。本章首先对Hibernate进行介绍,并给出一个示例使读者快速了解Hibernate,接着介绍Hibernate的配置方式和映射方法。本章主要讲述如何将Web框架与Hibernate进行整合。
第11章是在自己写的Web框架中使用Log4j。本章主要讲解Log4j的使用方法,并将其应用在本书的Web框架中。
第12章是用Web框架实现内容管理系统。本章通过一个内容管理系统实例对本书中的Web框架进行一个整体的演示,从而使读者对本书所实现的基于MVC的Web框架有一个全面的掌握。
适合阅读本书的读者
本书具有通俗易懂、主次分明、指导性强、快速入门、提纲挈领的特点,力求以通俗的语言及丰富的实例来指导读者透彻掌握如何构建一个基于MVC的Web框架。本书适合如下读者阅读:
Java Web开发人员;
JSP、Servlet程序员;
系统构架师;
J2EE开发人员。
本书涉及的开源软件请到www.broadview.com.cn上下载
作 者
2007年1月
无封面