内 容 简 介    本书针对Java初学者及入门者,系统阐述Web开发的基本知识,结合数据库应用,使读者快速跨入Java领域,对编程语言不再畏惧。    基础篇介绍Java数据库开发的基础知识,并对电话外呼系统HwCall从项目起源、需求分析、功能分解、数据库设计、代码实现一直讲到软硬件选配、系统安装整个过程。即使一个不懂IT的门外汉,通过本书的学习,基于HwCall,也很快就能开发企业级应用。    原理篇介绍一些原理性的东西,包括Web应用的工作原理,结构、MVC、框架,软件工程及面向对象的基本原理,SSH框架,HoCAS表示层原理,基于HoCAS的UML建模以及基于SOA的HoCAS等。
IT专业技术是进入IT行业的“敲门砖”,要想成为IT人士,究竟需要掌握哪些技能呢?这方面的书籍数不胜数,不少书中的内容更让读者迷惑。读者感叹:IT怎么这么难! 网络上流传着一张“软件程序员专业技能自检表”(见表0-1),这里有少许删减。 表0-1 软件程序员专业技能自检表 基 础 项 熟练掌握? 有项目经验? 列入学习计划? 操作系统 Windows □ □ □ Linux □ □ □ UNIX □ □ □ 数据库 SQL Server □ □ □ Oracle □ □ □ DB2 □ □ □ 基础知识 HTML语言 □ □ □ XML语言 □ □ □ 数据结构常用算法 □ □ □ UML知识 □ □ □ 开发语言和工具 VC++ □ □ □ C++ □ □ □ VS.NET □ □ □ Java □ □ □ 其他请注明 □ □ □ 软件过程 软件工程理论 □ □ □ 质量体系 □ □ □ 过程控制 □ □ □ 软件设计 □ □ □ 单元测试工具 □ □ □ 软件加密 □ □ □ (续表) 基 础 项 熟练掌握? 有项目经验? 列入学习计划? 软件过程 源代码控制 □ □ □ 说明书编写 □ □ □ 程序部署 □ □ □ 项目组 建设 编码规范 □ □ □ 源代码控制规范 □ □ □ 数据库设计规范 □ □ □ 公共组件或基类 □ □ □ 若以此为参考标准,如果所列的技能大部分你都已经熟练掌握,那么恭喜你,你是一名合格的程序员!如果这些技能大部分你都已经拥有了项目经验,那么更要恭喜你,你是一名优秀的程序员! 但IT真有这么难吗?有人说一个稍微有点编程背景的普通人,只需要学习PHP半天时间,就可以上手开始开发Web应用;甚至一个从没有编程经历只做Photoshop的人,学两天PHP,就能到处接活给人家开发网站,一个人全部搞定。以前有不少学习 JSP 的人问我,按照书上的介绍,他们无论怎么配置,都没法搭建开发环境。我一问过程,书上说要装JDK、MySQL、Tomcat、Resin,甚至还要装IIS、Apache。有必要这么复杂吗?对于一个初学者,不晕才怪。学了HTML,开始学Java;Java的基础还没学完,发现HTML快忘了,于是赶紧学HTML;学完HTML,再学JSP;等学完JSP,又忘了不少Java基础知识,然后再回头看Java。就这样不断循环,还是无法入门。 还有一个误区,有不少初学者或程序员,都在趋之若鹜地学习SSH,似乎这些框架就成了一个人是否精通Java,能否写J2EE程序的唯一事实标准和找工作的必备基础。然而,为什么要学习这些框架?这些框架的本质是什么?这些框架到底给你带来了什么?这是首先需要思考的问题。 使用框架只是为了方便开发,以提高工作效率。但是框架的使用,增加了初学者的难度,尤其是SSH,更是增加了学习时间。框架只是为了解决在Web开发中所遇到的问题而诞生的,所以,千万不要为了学习框架而学习框架,而是要为了解决问题而学习框架,学以致用才是一个程序员的学习之道。初学者最重要的是尽快上手,上手之后,再去深入相对就会比较简单。 编程的核心是解决问题,语言只是问题解决的一种实现方式,而代码也只是项目开发中很少的一部分;当你有了解决问题的思路,即使不懂某种语言,也很快就能用其实现功能。不论是何种语言——Java、C++、PHP,还是数据库代码,基础知识均为数据类型、数据结构、控制结构。大部分代码就是这三种内容的组合,再根据软件工程的思想来实现功能。 本书正是基于上述思想,参照HwCall、HoCAS等实际项目,通过通俗易懂的描述,先讲述过程,塑造读者的问题解决能力,树立系统工程的理念,再讲述具体实现,在具体项目实践中理解核心知识点,从而帮助读者快速入门。 对于此书的学习,建议先看目录,了解书中讲了哪些点;再略读,你会发现前面一时不了解的知识,随着篇章的展开,不少知识自然而然就会了;最后细读,参照范例自己动手做。 优秀是种习惯,初学者应养成良好的编程习惯,树立好编程思想,懂得学以致用,而不要陷入代码的误区。任何技术大拿都免不了勤学苦练,“十年磨一剑”,希望本书能帮助读者实现理想,走向成功。 本书的完成得益于许多教师、学生的积极参与,如陈聚雄、张艳伟等。特别感谢上海华东师范大学软件学院杜育根副教授为本书提供指导和部分素材,更感谢上海对外贸易学院王朝晖教授对该书部分内容的修改。 本书是在我毕业10年、创业8年过程中在软件开发、员工培训、企业管理等方面的积累和总结,更有杜育根副教授从软件工程的高度对该书提供指导,力争为读者提供一种快速进入软件开发领域的途径。尽管如此,由于软件开发技术性太强,覆盖面太大,应用周期太长,涉及领域太多,开发方式和技术太繁杂,加之时间紧、水平有限,一定有许多不周到、不准确或存在错误之处,恳请读者提出批评和建议,并争取再版时修正。 “浩为教育”创始人兼CTO 喻桃阳