Java Web开发入门很简单(txt+pdf+epub+mobi电子书下载)


发布时间:2020-06-24 10:17:59

点击下载

作者:贺振增,张海芳

出版社:清华大学出版社

格式: AZW3, DOCX, EPUB, MOBI, PDF, TXT

Java Web开发入门很简单

Java Web开发入门很简单试读:

前言

Java语言一直以来可以说是世界上应用最广泛的编程语言。近几年,随着云计算以及移动领域的扩张,很多企业考虑将其部署到Java平台上,这就意味着Java将会有更广阔的使用空间和发展前景。而Java Web作为Java的一个重要分支,其地位和重要性也是不言而喻的。这将需要很多精通Java Web技术的专业人才,因此现在有越来越多的工作者、学习者正努力进入Java Web领域或将要努力进入Java Web领域。

而想掌握Java Web技术尤其是Java EE企业级开发技术并非想象中的那么简单,其中很多想进入Java Web开发领域的开发者倒在了入门的道路上。所以Java Web开发入门非常重要,有了好的开始就等于已经成功迈进Java Web开发的大门,至于以后如何就要看自己的修行了。为了帮助广大工作者、学习者能真正掌握Java Web编程,感受到Java Web开发的前景和魅力,领悟到Java Web编程的精华和开发过程中的快乐,笔者根据近年来的对Java Web编程的学习和实际开发经验,精心编写了本书。

本书重点介绍Java Web开发入门,主要面向那些想进入Java Web开发领域但又不知如何入门的读者,通过笔者对Java Web编程深入浅出的讲解,让读者轻松愉快地进入Java Web开发的大门。

由于笔者是太极拳的爱好者,所以在本书中引用了很多太极拳的精妙要义,以武术的理论来讲解Java Web开发的过程和原理,让读者能够在阅读本书的同时,还能体会一下太极拳的奥妙,做到松弛有度。

练太极拳有三到:神到、意到、形到。如身法正确,则进步甚速,每日有不同之感觉。学者宜细心体味之。如身法不合,神意不到,如火煮空铛,到老无成。同理,在学习Java Web编程的时候,也需要三到,需要心神合一,掌握要领,循序渐进地练习和掌握。

在Java Web编程学习过程中,我总结了两点:第一须勤,第二须悟。结果如何,视智慧如何,但勤能补拙,须自勉之。希望通过对本书的学习,那些徘徊在Java Web开发大门前的读者能够轻松走进Java Web编程的大门,只要您跟着本书学习,您会发现Java Web编程入门其实很简单。

本书特色

1.通俗易懂,图文并茂

本书每一章都以武术的要领口诀命名,目的是想让读者明白所有事物的学习原理都是相通的,只要您肯勤劳、有悟性,就会成功;并且本书几乎对所有的操作都附有图示,以期读者更好地掌握。2.由浅入深,涵盖广泛

涵盖了Java Web开发所需要的所有的基础知识,包括HTML、CSS、JavaScript、JSP、Servlet、XML、jQuery和Ajax等,以及当前流行的SSH框架的整合和使用。并且对开发中的异常处理和软件测试都有简单介绍。3.深浅适中,扩展有度

本书既对基础知识做了讲解,以保障入门开发者能够很快地上手;又对Java EE企业开发有所介绍和渗透,以软件工程的思想教给读者如何开发一个完整的项目。本书还对当前比较流行的移动Web开发有所扩展,让读者掌握前沿开发动向。4.实例丰富,实用性强

在介绍每一个知识点的同时都加入了一些操作实例,读者可以参考学习,以轻松练习和掌握所学知识。5.视频教学,高效直观

为配合读者的学习,本书提供了配套教学视频。由于有些知识通过书面表达很难讲解到位,所以为了帮助读者在学习本书时能够轻松掌握书中所讲的知识,作者专门录制了本书重点内容的教学视频供读者高效而直观地学习。读者在阅读本书的时候请结合教学视频的讲解进行学习,才能达到更好的效果,因为有些经验和知识点在书中可能并没有提及。

本书内容安排

学习本书内容需要读者提前学习一下Java基础知识。因为本书旨在介绍Java Web开发编程入门,所以对Java基础知识并没有做详细的讲解。本书共15章,分为5篇,按照章节的先后顺序,由浅入深、循序渐进地讲解了Java Web编程基础知识和常用框架,并根据笔者的工作经验,力求将开发过程中遇到的问题分享给读者,以免读者再犯类似错误。

第1篇,准备篇,包括第1、2章,介绍了Java Web开发领域及开发环境的搭建。

第1章介绍了Java Web开发的背景和所需要的东西。

第2章介绍了Java Web开发环境的搭建,手把手带领读者搭建开发环境。

第2篇,基础篇,包括第3~5章,主要介绍了Java Web开发必备的基础知识。

第3章介绍了JavaWeb开发必备的基础知识,包括HTML、JSP、Servlet和JavaBean等。

第4章带领读者练习一下第3章所学的内容,为后续学习打好基础。

第5章介绍了Java Web开发组件的联系和原理,同时对MVC模式有所讲解。

第3篇,提高篇,包括第6~8章,主要介绍了Java Web开发的常用的框架。

第6章介绍了Java Web开发中最常用的Struts、Spring和Hibernate三大框架的使用。

第7章介绍了SSH三大框架的整合开发,让读者初步具备SSH框架的整合思维。

第8章介绍了jQuery和Ajax框架在Web开发中的应用。

第4篇,实践篇,包括第9~13章,通过具体实例介绍Java Web项目开发过程。

第9章主要从软件工程的角度介绍了Java Web项目的开发流程。

第10~12章为3个具体实例,按照软件开发的流程带领读者完成了3个Java Web项目。

第13章主要介绍了Java Web开发中的常见异常和处理方法,需要读者深思体会。

第5篇,扩展篇,包括第14、15章,简单介绍了移动Web开发的相关内容。

第14章简单介绍了一些移动Web开发的领域,目的是让读者开阔自己的知识视野。

第15章简单介绍了现今移动领域的迅猛发展和移动Web开发的前景,劝诫读者须知学海无涯,应潜心学习。本书适合的读者

如果您已经具备了较好的Java Web编程功底,那么您可以绕过本书而学习更加深入的知识。但是如果您只是Java Web的初学者或者想进入Java Web开发领域,本书就是您不错的选择。

◆有一定Java基础,想从事Java Web开发的初学者;

◆热爱Java Web开发的所有读者。本书作者

本书由贺振增和张海芳主笔编写。其他参与编写的人员有吴振华、辛立伟、熊新奇、徐彬、晏景现、杨光磊、杨艳玲、姚志娟、俞晶磊、张建辉、张健、张林、张迎春、张之超、赵红梅、赵永源、仲从浩、周建珍、杨文达。致谢

感谢我的父母!长期以来你们一直默默地支持和鼓励着我。如果没有你们的支持,我不会有今天的成果,是你们的鼓励和支持让我有了前进的方向和奋斗的动力。

感谢清华大学出版社负责本书的编辑!本书写作过程中得到了不少良好的建议和指导。

感谢和我一起主笔编写本书的张海芳同学!感谢参与本书编写的张海洋等其他作者和同事,他们给了我不少宝贵的意见。

本书写作过程中借鉴和参考了网络开源社区和论坛的相关内容,在此表示感谢!

希望读者通过学习本书,有所领悟,有所收获。阅读本书的过程中若有疑问,请发邮件和我们联系。E-mail:bookservice2008@163.com。编著者第1篇准备篇第1章师父领进门——了解JavaWeb开发领域“师者,所以传道授业解惑也”,师父指导你正确的修行方法,帮助你解答疑惑的问题,而用功还是要靠自己。所谓“师父领进门,修行在个人”就是这个意思,师父带你走进这个领域,至于你怎么发展,发展到怎么样,就要看你的勤奋和觉悟了。

本章主要带你进入Java Web开发的大门,简单地了解一下Java Web开发到底是怎么回事,结合自己的体会介绍一下Java Web开发的前景,并对Java Web开发需要什么以及如何学好Java Web开发做了简单的介绍。

由于在您读Java Web开发入门这本书时,就认为您已经具备了Java编程语言的基础知识,所以在本书中就不对Java编程的基础知识做细致全面的讲解了。但是,由于本人担心有些读者在学习Java Web开发之前并没有接触过Java编程语言,所以在本章中也会提及一点Java知识,希望大家可以认真积累。当然如果您已经是Java高手,那么可以跳过本章的1.1节,直接阅读1.2节即可。下面我们就来进入Java Web开发这道门吧!1.1 门一:Java是开发的基础

Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE、Java EE和Java ME)的总称。Java技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。

在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。由于本书主要介绍Java Web开发,而Java是Java Web开发的重要基础,所以如果想学好Java Web开发就需要读者朋友具备一定的Java知识。本书默认您已经具备了一定的Java基础了,如果您对Java基础知识还没有掌握,也没关系,这里我们会介绍一些最基本的Java基础知识。但是建议读者朋友最好再自己系统学习一下Java程序设计语言,这对以后的Java Web开发学习很有帮助。下面我们就来介绍一下Java语言发展历程、特点和发展前景。1.1.1 Java语言的发展历程

Java的名字的来源:Java是印度尼西亚爪哇岛的英文名称,因盛产咖啡而闻名。Java语言中的许多库类名称,多与咖啡有关,如JavaBeans(咖啡豆)、NetBeans(网络豆)以及ObjectBeans(对象豆)等等。Sun和Java的标识也正是一杯冒着热气的咖啡。

据James Gosling(詹姆斯·高斯林)回忆,最初这个为TV机顶盒所设计的语言在Sun内部一直称为Green项目。我们的新语言需要一个名字。Gosling(高斯林)注意到自己办公室外一棵茂密的橡树Oak,这是一种在硅谷很常见的树,所以他将这个新语言命名为Oak,但Oak是另外一个注册公司的名字,这个名字不可能再用了。在命名征集会上,大家提出了很多名字。最后按大家的评选次序,将十几个名字排列成表,上报给商标律师。排在第一位的是Silk(丝绸),尽管大家都喜欢这个名字,但遭到James Gosling的坚决反对。排在第二和第三的都没有通过律师这一关,只有排在第四位的名字,得到了所有人的认可和律师的通过,这个名字就是Java。十多年来,Java就像爪哇咖啡一样誉满全球,成为实至名归的企业级应用平台的霸主。

下面就是这十多年来Java的发展历程。

1995年5月23日,Java语言诞生。

1996年1月,第一个JDK 1.0诞生。

1996年4月,10个最主要的操作系统供应商申明将在其产品中嵌入Java技术。

1996年9月,约8.3万个网页应用了Java技术来制作。

1997年2月18日,JDK 1.1发布。

1997年4月2日,JavaOne会议召开,参与者逾一万人,创当时全球同类会议规模之纪录。

1997年9月,JavaDeveloperConnection社区成员超过十万。

1998年2月,JDK 1.1被下载超过2000000次。

1998年12月8日,Java 2企业平台J2EE发布。

1999年6月,Sun公司发布Java的三个版本:标准版(J2SE)、企业版(J2EE)和微型版(J2ME)。

2000年5月8日,JDK 1.3发布。

2000年5月29日,JDK 1.4发布。

2001年6月5日,NOKIA宣布,到2003年将出售1亿部支持Java的手机。

2001年9月24日,J2EE 1.3发布。

2002年2月26日,J2SE 1.4发布,自此Java的计算能力有了大幅提升。

2004年9月30日18:00PM, J2SE 1.5发布,成为Java语言发展史上的又一里程碑。为了表示该版本的重要性,J2SE 1.5更名为Java SE 5.0。

2005年6月,JavaOne大会召开,Sun公司公开Java SE 6。此时,Java的各种版本已经更名,以取消其中的数字“2”:J2EE更名为Java EE, J2SE更名为Java SE, J2ME更名为Java ME。

2006年12月,Sun公司发布JRE 6.0。

2009年04月20日,甲骨文以74亿美元收购Sun,取得Java的版权。

2011年7月,甲骨文公司发布Java 7的正式版。1.1.2 Java语言的特性

Sun公司对Java编程语言的解释是:Java编程语言是个简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程和动态的语言。从Sun公司对Java编程语言的解释可以知道Java编程语言具有简单性特点、面向对象特点、分布式特点、解释执行特点、健壮稳定特点、安全性特点、可移植性特点、高效性特点、多线程特点和动态性特点。(1)简单性特点。Java语言的语法与C语言和C++语言很接近,使得大多数程序员很容易学习和使用。Java丢弃了C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java语言不使用指针,并提供了自动的废料收集,使得程序员不必为内存管理而担忧。Java提供了丰富的类库供编程人员调用。(2)面向对象特点。面向对象编程(Object Oriented Programming, OOP,即面向对象程序设计)是一种计算机编程架构。OOP的一条基本原则是计算机程序是由单个能够起到子程序作用的单元或对象组合而成。OOP达到了软件工程的三个主要目标:重用性、灵活性和扩展性。为了实现整体运算,每个对象都能够接收信息、处理数据和向其他对象发送信息。

面向对象编程语言支持类与对象、封装、继承和多态。

◆对象:对象是运行期的基本实体,它是一个封装了数据和操作这些数据的代码的逻辑实体。

◆类:类是具有相同类型的对象的抽象。一个对象所包含的所有数据和代码可以通过类来构造。

◆封装:封装是将数据和代码捆绑到一起,避免了外界的干扰和不确定性。对象的某些数据和代码可以是私有的,不能被外界访问,以此实现对数据和代码不同级别的访问权限。

◆继承:继承是让某个类型的对象获得另一个类型的对象的特征。通过继承可以实现代码的重用,从已存在的类派生出的一个新类将自动具有原来那个类的特性,同时,它还可以拥有自己的新特性。

◆多态:多态是指不同事物具有不同表现形式的能力。多态机制使具有不同内部结构的对象可以共享相同的外部接口,通过这种方式减少代码的复杂度。(3)分布式特点。Java语言支持Internet应用的开发,在基本的Java应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,包括URL、URLConnection、Socket和ServerSocket等。Java的RMI(远程方法激活)机制也是开发分布式应用的重要手段。(4)解释执行特点。Java程序在Java平台上被编译为字节码格式,然后可以在实现这个Java平台的任何系统中运行。在运行时,Java平台中的Java解释器对这些字节码进行解释执行,执行过程中需要的类在连接阶段被载入到运行环境中。(5)健壮稳定特点。Java的强类型机制、异常处理、废料的自动收集等是Java程序健壮性的重要保证。对指针的丢弃是Java的明智选择。Java的安全检查机制使得Java更具健壮性。(6)安全性特点。Java通常被用在网络环境中,为此,Java提供了一个安全机制以防恶意代码的攻击。除了Java语言具有的许多安全特性以外,Java对通过网络下载的类具有一个安全防范机制(类ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类SecurityManager)让Java应用设置安全哨兵。(7)可移植性特点。这种可移植性来源于体系结构中立性,另外,Java还严格规定了各个基本数据类型的长度。Java系统本身也具有很强的可移植性,Java编译器是用Java实现的,Java的运行环境是用ANSI C实现的。(8)高效性特点。与那些解释型的高级脚本语言相比,Java的确是高性能的。事实上,Java的运行速度随着JIT(Just-In-Time)编译器技术的发展越来越接近于C++。(9)多线程特点。在Java语言中,线程是一种特殊的对象,它必须由Thread类或其子(孙)类来创建。通常有两种方法来创建线程:其一,使用型构为Thread(Runnable)的构造子将一个实现了Runnable接口的对象包装成一个线程;其二,从Thread类派生出子类并重写run方法,使用该子类创建的对象即为线程。值得注意的是Thread类已经实现了Runnable接口,因此,任何一个线程均有它的run方法,而run方法中包含了线程所要运行的代码。线程的活动由一组方法来控制。Java语言支持多个线程的同时执行,并提供多线程之间的同步机制(关键字为synchronized)。(10)动态性特点。Java语言的设计目标之一是适应于动态变化的环境。Java程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java中的类有一个运行时刻的表示,能进行运行时刻的类型检查。1.1.3 Java语言的发展前景

Java语言的优良特性使得Java应用具有无比的健壮性和可靠性,这也减少了应用系统的维护费用。Java对对象技术的全面支持和Java平台内嵌的API能缩短应用系统的开发时间并降低成本。Java的“编译一次,到处可运行”的特性使得它能够提供一个随处可用的开放结构和在多平台之间传递信息的低成本方式。特别是Java企业应用编程接口(Java Enterprise API)为企业应用系统提供了有关技术和丰富的类库。

电子商务要求程序代码具有基本的要求:安全、可靠、同时要求能与运行于不同平台的机器的全世界客户开展业务。Java以其强安全性、平台无关性、硬件结构无关性、语言简洁同时面向对象,在网络编程语言中占据无可比拟的优势,成为实现电子商务系统的首选语言。

Android是第一个内置支持Java的操作系统,Android应用程序使用Java语言编写。Android开发水平的高低很大程度上取决于Java语言核心能力是否扎实。另外一方面,3G应用往往会和企业级应用相互结合。因此,在3G-Android课程体系中将Android课程与Java EE课程紧密结合,以Android课程为主,以Java EE课程为辅,配合真实的企业级项目,不但可以深入掌握基于Android平台的智能手机开发技术,更重要的是还系统掌握了智能移动终端与Java EE服务器端相结合的诸多领域商业的应用。Java的这些优良特性为Java语言的发展提供了广泛的发展前景。1.2 门二:Java Web开发概述

Java Web是用Java技术来解决相关Web互联网领域的技术总和。Web包括Web服务器和Web客户端两部分。Web服务器的作用是接受浏览器客户端的请求,然后向浏览器客户端返回一些结果。浏览器的作用是允许用户请求服务器上的某个资源,并且向用户显示请求的结果。Java Web开发就是利用HTML、JSP等告诉浏览器怎样向用户显示内容,以及通过HTTP实现Web上浏览器客户端和服务器之间通信。下面我们就来看看Java Web开发前途以及如何学习Java Web开发。1.2.1 Java Web开发前途

目前做Web开发前景还是非常乐观的,本人就我所知道的跟读者分析下目前的形势吧:由于近两年Android和iOS的风靡,导致这几年做Android和iOS很吃香,然而随着Android和iOS的火爆,很多人转向Android和iOS,这样势必会导致Android和iOS趋向饱和。

随着电子产品的飞速发展,以后极有可能是超级本的天下,那时候做Web开发就会很吃香,而且这种可能性极大。另外,由于Android和iOS两大阵容目前存在应用都不兼容,所以跨平台的兼容性是人们迫切希望解决的,这就需要Java Web发力了。还有就目前Web开发语言方面,JSP、PHP和ASP是三大阵容,PHP这几年在国内是最火的,但是由于Java的优良特性,企业级开发主要还是选择Java的JSP作为主要开发语言。不过目前还是有少数公司用ASP开发Web。所以目前Java Web开发前途是一片光明。1.2.2 Java Web开发需要什么

从前面介绍可以看到Java Web开发前途无量,但是要想学好Java Web开发需要学习些什么呢?基本的网页设计语言HTML、JavaScript和CSS等基本上可以做一些静态网页了。对于制作动态网站,Java、JSP(Servlet属于JSP中的)等的作用是从前台网页获取数据和后台数据库进行交互。数据库有这几种:MySQL、SQL Server、SQL Lite、Access和Oracle。数据库用于保存网站的一些信息(例如:用户信息、网站功能等)。

然后再学习一些框架,深刻理解MVC思想和原理,了解Struts、Spring和Hibernate的基本工作原理,并会搭建简单的企业开发架构。这些知识我们都会在以后的章节中逐一介绍,只要您跟的我讲的学,Java Web开发很快就会入门的。1.2.3 如何学习Java Web开发

目前,国内外信息化建设特别是移动互联网的高速发展,使得Java Web技术已经进入基于Web应用为核心的阶段,Java作为应用于网络的最好语言,前景无限看好。

然而,利用Java建造Web应用也并非想象中的那么容易,Java Web开发需要很多基础知识作支撑,比如Java编程语言、JDBC技术、Servlet技术、JSP技术、JavaBean技术、HTML语言、CSS技术、JavaScript脚本语言等,这些技术我们会在第3章中详细讲解。

当然除了这些基础知识之外,还要知道一些比较好的开源框架,了解MVC思想,掌握SSH框架的搭建和基本原理。所以要实施Java的Web项目需要有规划、有条理地学习,下面我们就来看看几个比较重要的需要我们必须掌握的技术。1.Java编程语言

Java编程语言是基础,但是本书主要介绍的是JavaWeb开发入门,默认读者已经对Java编程语言基础有所了解,所以就不会再花费大的篇幅介绍Java编程语言了,只对Java编程语言的基本特点做简要介绍。由于Java包括多个模块,从Java Web项目应用角度出发涉及到JSP、Servlet、JDBC和JavaBean(Application)四部分技术。2.JDBC(Java DataBase Connectivity)技术

JDBC(Java DataBase Connectivity)是一种用于执行SQL语句的JavaAPI。它由一组用Java编程语言编写的类和接口组成。JDBC为数据库开发人员提供了一个标准的API,使他们能够用纯Java API来编写数据库应用程序。3.Servlet技术

Servlet从客户端(通过Web服务器)接收请求,执行某种操作,然后返回结果。所以Servlet是运行在服务器端的程序,我们可以认为它是服务器端的applet。Servlet被Web服务器(例如Tomcat)加载和执行,就如同applet被浏览器加载和执行一样。4.JSP(Java Server Pages)技术

JSP是我们从事Java Web开发用到的最多、打交道最多的技术。JSP可以说是从Servlet的基础上分离出来的一小部分,简化了开发,加强了界面设计。JSP主要用在交互网页的开发,运用Java语法,但功能较Servlet弱了很多,并且高级开发中只充当用户界面部分。

JSP实现了“一次编写,各处执行(Write Once, Run Anywhere)”的特性,作为Java平台的一部分,JSP技术可依赖于重复使用跨平台的组件(如:JavaBean或Enterprise JavaBean组件)来执行更复杂的运算、数据处理。开发人员能够共享开发完成的组件,或者能够加强这些组件的功能,让更多用户或是客户团体使用。基于善加利用组件的方法,可以加快整体开发过程,也大大降低公司的开发成本和人力。5.JavaBean(Application)应用组件技术

Application是Java应用程序,在Web项目和一些开发中主要应用JavaBean。它就是Application的一部分,逻辑运算能力很强,能极大地发挥Java语言的优点。JavaBean被称为是Java组件技术的核心。JavaBean的结构必须满足一定的命名约定。JavaBean能提供常用功能并且可以重复使用,这使得开发人员可以把某些关键功能和核心算法提取出来封装成为一个组件对象,这样就增加了代码的重用率和系统的安全性。

是不是学习好这些技术就可以做JavaWeb开发了?应该还是可以开发一些简单的Web应用的,但是如果想做一些真正的企业级别的Web开发,这些还是不够的,还需要掌握面向对象的分析和设计思想、常用的设计模式和框架结构等等。

由于Java语言是完全面向对象的语言,所以在项目设计时应尽量舍弃以往的面向过程的设计方式。在分析项目业务关系的时候,应用一些UML(Unified Modeling Language)图,例如常用的用例图(Use Case Diagram)、类图(Class Diagram)和时序图(Sequence Diagram)等,这些会给我们的设计带来很大的帮助。这样能尽快找出业务逻辑主要面对的对象,然后对每个对象进行行为划分,最后再实现带来对象之间的集成和通信。

设计模式在Java Web项目实施过程更是重中之重。开始我们在普通的Web项目中很多采用两层的开发结构,主要是JSP+Servlet或JSP+JavaBean。对于开发要求高的项目,我们使用MVC的三层开发结构,也就是JSP+Servlet+JavaBean。它能有效地分离逻辑开发,使开发人员能专注于各自的开发。同时也能使整个开发结构流程更清晰,但是需要比较高的开发配合度。这些我们将在第5章开发模式中详细讲解。

当然,我们还需要掌握一些目前比较流行的开发框架,像SSH。掌握这些之后我们就可以把一些工作直接交给这些框架自己处理,对于我们的开发效率会有很多的提升。并且由于这些开发框架本身有很多优点,这会对我们开发的应用的质量有所提高。这些我们在后面提高篇和实践篇中会很详细地讲解和教您如何使用。只要您跟着我讲的一步一步走,Java Web开发入门很简单!1.3 门三:Java Web开发的基本知识

由于本书的重点内容是讲解Java Web开发的知识,所以本节就开始简单地介绍Java Web程序运行原理、Java Web开发使用的开发组件和Java EE主流的开发平台。相信通过本节知识的讲解,就真正带领大家进入了Java Web开发的大门了!1.3.1 Java Web程序运行原理

其实我们所说的Java Web程序也就是我们平常说的Java Web应用,Java Web应用分为两种:一种是静态的,另一种是动态的,即静态网站和动态网站。那么什么是静态网站和动态网站呢?

静态网站资源(如HTML页面):指Web页面中供人们浏览的数据始终是不变的。

动态网站资源:指Web页面中供人们浏览的数据是由程序产生的,不同时间点访问Web页面看到的内容各不相同。

开始Java Web应用只是静态的网页,这些静态的网页是使用HTML语言编写的。把HTML放在服务器上,用户只需要在浏览器中输入相应的HTTP请求,就可以将放在Web服务器上的静态网页传送给浏览器并显示给用户。

由于随着技术的进步和社会的发展,对网页的要求也越来越高,用户所访问的资源已不能只局限于服务器上所存放的HTML网页,更多的是需要用户的请求直接生成动态页面信息,即动态的网站。所以现在我们所说的Java Web实际上就是动态网页的开发,使用到JSP页面。我们课程的重点也是教大家如何使用Java技术开发动态的Web资源,即动态Java Web页面。Java Web应用程序的工作原理如图1-1所示。

Java Web应用程序的工作原理可以说由以下四步组成。(1)浏览器和Web服务器建立连接,浏览器和服务器的连接就是与浏览器和服务器的一个TCP Socket套接字连接。(2)浏览器发送HTTP请求,HTTP请求包含以下几部分。

◆请求行:请求行是一个ASCII文本行,由请求的HTTP方法、请求的URL和HTTP版本组成,中间用空格分开。图1-1 Java Web应用程序的工作原理

◆请求头:HTTP协议使用HTTP头来传递请求的元信息。

◆空行:发送回车符和退行,通知服务器以下不再有请求头。

◆消息体:HTTP请求中带有查询字符串时,如果是GET方法,查询字符串或表单数据附加在请求行中,那么消息体就没有内容,如果是POST方法,查询字符串或表单数据就添加在消息体中。(3)服务器端接收客户端的HTTP请求,生成HTTP响应回发。响应包含以下几部分。

◆状态行:每个HTTP响应以一个状态行开头,它由HTTP协议版本、响应状态码和响应描述组成,中间用空格分开。

◆响应头:响应头与请求头一样,也是一个用冒号分隔的名称/值对,冒号前面是HTTP头的名称,后面是HTTP头的值。

◆空行:发送回车符和退行,通知服务器以下不再有响应头。

◆消息体:要发送回客户端的HTML文档或其他要显示的内容等,Web服务器把要发送给客户端的文档信息放在消息体中。(4)服务器端关闭连接,客户端解析并回发响应,恢复页面。HTTP响应到达客户端后,浏览器先解析HTTP响应中的状态行,查看请求是否成功的状态代码,然后开始一步步解析响应。提示:Http是一种超文本传输协议(HyperText Transfer Protocol),它是计算机在网络中通信的一种规则,在TCP/IP体系结构中HTTP属于应用层协议,位于TCP/IP协议的顶层。HTTP是一种无状态的协议,意思是指在Web浏览器和Web服务器之间不需要建立持久的连接。这里只是简单地介绍一下,在第3章中还会讲到。1.3.2 Java Web应用程序组成

Java Web应用程序组成包括以下三种。

◆配置文件(web.xml)。

◆静态文件和JSP。

◆类文件和包。

具体Java Web应用程序组成结构如图1-2所示。图1-2 Java Web应用程序组成

Java Web应用程序组成说明如下。

◆配置文件,每个Web应用程序包括一个配置文件,即web.xml。

◆静态文件和JSP文件。

◆类文件和包,用于Web应用程序装载和管理自定义的Java代码。

◆网页可以放在Web应用程序的根目录下,根据动态网页或者静态网页的不同放在不同的目录里。

◆图像一般会放在images子目录中,不过这是习惯,不是必须的。

◆ Servlet类和JavaBean类,编译为Class文件后是放在WEB-INF/classes目录中的。

◆ lib目录用来包含应用程序任何所需要的jar文件。

◆标记描述放在WEB-INF目录下。

◆ Applet程序放在应用的目录下。

◆ WEB-INF目录下存放web.xml部署描述文件器。1.3.3 Java Web主要开发体系结构

Java Web主要开发结构分为两种:C/S开发结构和B/S开发结构。下面我们就来具体介绍一下这两种开发结构。1.C/S开发结构

C/S结构,即Client/Server(客户机/服务器)结构,通过将任务合理分配到Client端和Server端,降低了系统的通讯开销,可以充分利用两端硬件环境的优势。

目前大多数应用软件系统都是Client/Server形式的两层结构,由于现在的软件应用系统正在向分布式的Web应用发展,Web和Client/Server应用都可以进行同样的业务处理,应用不同的模块共享逻辑组件。因此,内部的和外部的用户都可以访问新的和现有的应用系统,通过现有应用系统中的逻辑可以扩展出新的应用系统。这也是目前应用系统的发展方向。

传统的C/S体系结构虽然采用的是开放模式,但这只是系统开发一级的开放性,在特定的应用中无论是Client端还是Server端都需要特定的软件支持。由于没能提供用户真正期望的开放环境,C/S结构的软件需要针对不同的操作系统开发不同版本的软件,加之产品的更新换代十分快,已经很难适应百台电脑以上的局域网用户同时使用。而且代价高、效率低。2.B/S开发结构

B/S(Browser/Server)结构即浏览器和服务器结构。它是随着Internet技术的兴起,对C/S结构的一种变化或者改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事务逻辑在前端(Browser)实现,但是主要事务逻辑在服务器端(Server)实现,形成所谓的三层结构。这样就大大简化了客户端电脑载荷,减轻了系统维护与升级的成本和工作量,降低了用户的总体成本。

以目前的技术看,局域网建立B/S结构的网络应用,并通过Internet/Intranet模式下的数据库应用,相对易于把握,成本也是较低的。它是一次性到位的开发,能实现不同的人员,从不同的地点,以不同的接入方式(比如LAN、WAN和Internet/Intranet等)访问和操作共同的数据库;它能有效地保护数据平台和管理访问权限,服务器数据库也很安全。目前B/S体系结构已经受到Java Web企业开发的重视,很多大型的企业项目都是使用B/S体系结构开发的。特别是在Java这样的跨平台语言出现之后,B/S架构管理软件更是方便、快捷、高效。

另外,B/S体系结构已经成为管理软件的主流技术。管理软件技术的主流技术与管理思想一样,也经历了三个发展时期。首先,界面技术从上世纪DOS字符界面到Windows图形界面(或图形用户界面GUI),直至Browser浏览器界面三个不同的发展时期;其次,今天所有电脑的浏览器界面,不仅直观和易于使用,更主要的是基于浏览器平台的任何应用软件风格都是一样的,对使用人要求不高,可操作性强,易于识别;再者,平台体系结构也从过去的单用户发展到今天的文件/服务器(F/S)体系、客户端/服务器(C/S)结构体系和浏览器/服务器(B/S)结构体系。3.B/S开发体系结构和CS开发体系结构特点

B/S结构的优点如下。

◆具有分布性特点,可以随时随地进行查询、浏览等业务处理。

◆业务扩展简单方便,通过增加网页即可增加服务器功能。

◆维护简单方便,只需要改变网页,即可实现所有用户的同步更新。

◆开发简单,共享性强。

B/S结构的缺点如下。

◆个性化特点明显降低,无法实现具有个性化的功能要求(个性化的要求取决以软件框架,而非架构,分享B/S软件就挺灵活)。

◆操作是以鼠标为最基本的操作方式,无法满足快速操作的要求(如果辅助于插件,照样可以用键盘快速操作)。

◆页面动态刷新,响应速度明显降低(分享软件用分页保证响应速度稳定)。

◆功能弱化,难以实现传统模式下的特殊功能要求(技术问题,用微软C#或Java怎么会不能解决任何要求呢)。

C/S结构的优点如下。

◆由于客户端实现与服务器的直接相连,没有中间环节,因此响应速度快(当数据少时,B/S软件速度与C/S软件一般;当数据超过十万时,C/S软件变慢,B/S软件能维持稳定速度)。

◆操作界面漂亮、形式多样,可以充分满足客户自身的个性化要求(似乎可以随意排列界面,但遇到第二客户要求时又要从头做起,比较灵活)。

◆ C/S结构的管理信息系统具有较强的事务处理能力,能实现复杂的业务流程。

C/S结构的缺点如下。

◆需要专门的客户端安装程序,分布功能弱,针对点多面广且不具备网络条件的用户群体,不能够实现快速部署安装和配置。

◆兼容性差,对于不同的开发工具,具有较大的局限性。若采用不同工具,需要重新改写程序。

◆开发成本较高,需要具有一定专业水准的技术人员才能完成(就开发企业管理软件而言,C/S开发人员比B/S开发人员的成本高了许多)。4.B/S开发体系结构和CS开发体系结构的选择

C/S和B/S是当今世界开发模式技术架构的两大主流技术。C/S是由美国Borland公司最早研发,B/S是由美国微软公司研发。目前,这两项技术已经被世界各国所掌握,国内公司以C/S和B/S技术开发出的产品也很多。这两种技术都有自己一定的市场份额和客户群,各家企业都说自己的管理软件架构技术功能强大、先进、方便,都能举出各自的客户群体,都有一大群文人墨客为自己摇旗呐喊,广告满天飞,可谓仁者见仁,智者见智。

确实,对于这两种开发结构,从上面的特点分析可以看出各自有自己的优缺点,很难单独地用好与坏对这两种开发结构做出判断。1.4 本章小结

本章是Java Web的入门篇,主要介绍了Java Web开发领域的一些基本知识,让大家对Java Web开发有所了解。本章从三个方面带领读者进入Java Web的开发大门。1.Java程序设计语言基础

做什么都要有基础,Java Web开发也不例外,Java Web开发的基础就是Java程序设计语言。由于本书主要是讲Java Web开发的,所以对Java程序设计语言的基础讲解就只是略带一下而已,目的是想说明,如果想学好Java Web开发,Java程序设计的基础知识应该必须掌握,否则,无从谈起学习Java Web开发。2.Java Web开发概述

本章主要从什么是Java Web开发、Java Web需要什么以及怎么学好Java Web开发这三个方面对Java Web开发做了概述介绍。目的是让读者朋友一开始就对Java Web开发有一个清楚的认识,这样才会知道以后怎么学好Java Web开发。3.Java Web开发基础

对Java Web开发基础,本章只是简单地介绍了Java Web程序的运行原理、Java Web应用程序的组成以及Java Web程序的常用的两种结构模式。这样读者就可以对Java Web开发有更加清楚的认识了,为以后学习Java Web开发铺平了道路。

所谓“师父领进门,成败在个人”,通过本章的介绍已经真正地带领读者走进Java Web的开发大门了,至于以后如何学习,学成怎样就要看读者朋友自己的努力了。只要读者朋友肯下苦功,按照本人的讲解一步一步地学习,就一定可以学好Java Web开发。要相信自己,Java Web开发入门就这么简单!第2章工欲善其事,必先利其器——开发环境的搭建

子曰:“工欲善其事,必先利其器。居是邦也,事其大夫之贤者,友其士之仁者”。这两句名言,出自《论语》。有一天,孔子告诉子贡,一个做手工或工艺的人,要想把工作完成,做得完美,应该先把工具准备好。那么为仁是用什么工具呢?住在这个国家,想对这个国家有所贡献,必须结交上流社会,乃至政坛上的大员,政府的中坚。并和这个国家社会上各种贤达的人,都要交成朋友。换句话说,就是要先了解这个国家的内情,有了良好的关系,然后才能得到有所贡献的机会,完成仁的目的。

同样我们做软件开发想把工作完成,做得完善,也应该先把工具准备好。下面介绍一下我们Java Web开发的工具,只有熟练掌握和使用这些工具,才能很好地做开发工作。2.1 Java开发环境的搭建

设置环境变量对Java初学者来说也不是一件容易的事,笔者也曾经经历过这样的事情。要学习Java,首先需要在自己的电脑上装好JDK(Java Develop Kit,即Java开发工具包,内含Java编译器和Java虚拟机,以及大量对Java程序非常重要的类(class)库)。这里为减少初学者的困惑,给大家详细地介绍JDK的下载、安装和设置Java环境变量的步骤和方法。2.1.1 JDK下载与安装

在官网网站下载最新版的JDK 7.0。JDK分为安装版和解压版两个版本,这里我们选择安装版,下载后,解压缩到jdk-7-windows-i586.exe安装文件,如图2-1所示。图2-1 jdk-7-windows-i586.exe安装文件图

下面来安装JDK。(1)双击下载过来的jdk-7-windows-i586.exe,进入JDK安装向导界面。单击“下一步”按钮,在弹出的对话框中选择第一个JDK包安装,下面会给出默认的安装路径(C:\Programfiles\Java\jdk7.0),可以根据实际的安装路径修改,如图2-2所示。图2-2 JDK自定义安装界面(2)这里我们默认安装设置,单击“下一步”按钮,就会进入安装界面。如果不出错的话,等几分钟,就会弹出安装完成界面,如图2-3所示。在安装完成界面单击“完成”按钮,此时JDK就安装好了。图2-3 JDK安装完成界面注意:在第二步自定义安装中,需要安装jre包,这时默认的安装路径为(C:\Program files\Java\jre)。这时,如果您已经安装过JDK,就不能将路径修改为上次安装jdk包的路径,否则会覆盖掉您已安装jdk包中的jre文件夹,这有可能导致丢失jdk包中jre文件夹下bin文件夹中的bin文件。2.1.2 配置环境变量

安装完JDK后,我们要设置Java环境变量,否则我们上面安装的JDK就不能很好地起作用。不过要注意的是,配置环境变量是很容易出错的地方。下面详细介绍设置Java环境变量的步骤。(1)单击“我的电脑”|“属性”|“高级系统设置”选项,在弹出的系统属性对话框中选择“高级选项”,单击“环境变量”。进入环境变量的设置界面,如图2-4所示。(2)在“环境变量”对话框中有用户变量和系统变量两栏,这时需要格外注意,我们要在两个栏中设置同样的变量。设置方法如下:在系统变量栏中单击“新建”按钮,在弹出的新建系统变量中设置如图2-5所示。图2-4 环境变量设置界面图2-5 JAVA_HOME变量的设置注意:这里设置的变量值为C:\ProgramFiles\Java\jdk1.7.0,这个需要根据您的实际安装路径填写。(3)在系统变量栏中单击“新建”按钮,在弹出的新建系统变量中设置如下。

变量名:classpath

变量值:.; %JAVA_HOME%\lib\dt.jar; %JAVA_HOME%\lib\tools.jar(根据你的实际安装路径填写)。如图2-6所示。(4)在系统变量栏中单击“新建”按钮,在弹出的新建系统变量中设置如下。

变量名:path

变量值:.; %JAVA_HOME%\bin; %JAVA_HOME%\jre\bin(根据你的实际安装路径填写)如图2-7所示。图2-6 classpath变量的设置图2-7 Path变量的设置

最后还需要在用户变量栏中设置前面已设置的三个变量,这样就设置好JDK环境变量了。2.1.3 JDK环境测试

在配置好JDK的环境变量之后,需要测试环境是否设置正确,可以在命令行中使用java和javac命令,如图2-8所示。图2-8 JDK环境测试

从图2-8中可以看出,JDK环境变量设置已经生效,当前系统的JDK版本是1.7.0。至此JDK的下载、安装、配置和测试就完成了。2.2 Web部署环境的搭建

使用Eclipse开发B/S结构Web应用时,必须使用Web服务器。由于Web服务器有很多,常见的Web服务器有Microsoft IIS、IBM WebSphere、BEA WebLogic、Apache和Tomcat等。

Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。

随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多Web服务器都是采用Tomcat。目前最新版本是Tomcat 7.X,所以在本书中也主要将Web应用部署到Tomcat上。接下来将详细介绍Tomcat的下载、安装、配置和使用。2.2.1 Tomcat 的下载与安装

操作步骤如下。(1)下载最新版本的Tomcat,官方网址:http://tomcat.apache.org/。在下载界面选择下载版本,下面以下载Tomcat 7.0.32为例,单击Tomcat 7.0.32,页面右侧会出现下载格式。(2)有zip与exe两种格式,zip格式是免安装的,需要解压缩,再配置环境变量就可以使用了。exe格式安装比较方便。我们选择下载:32-bit/64-bit Windows Service Installer(pgp, md5)。(3)下载完成后,出现图标如图2-9所示。图2-9 Tomcat安装文件(4)双击下载的exe文件进行安装。进入欢迎安装界面,单击Next按钮。进入服务条款说明界面,选择I Agree,进入图2-10所示界面。图2-10 选择安装组件界面(5)在图2-10中选择完全安装Full,再单击Next按钮,进入图2-11所示界面。(6)在图2-11中输入用户名(user name)和密码(password),单击Next按钮。提示:在安装过程中会自动搜索电脑中的jre,也就是Java运行环境,所以必须先安装JDK才可以安装Tomcat。(7)选择安装路径,单击Install按钮,等待几分钟就会安装完成,如图2-12所示。单击Finish按钮,完成安装。图2-11 Tomcat配置界面图2-12 Tomcat安装完成界面2.2.2 Tomcat的环境变量配置

我们选择的是安装版本(环境变量配置和非安装版本环境变量配置相同),如果我们选择的是非安装版,还需要对环境变量进行设置。接下来配置非安装版的Tomcat 7.0.32的环境。(1)解压缩下载好的安装包,例如解压到了E:\soft\tomcat-7.0.32,当然这个由读者自己设置。如果是安装版的也可以自定义安装路径。然后选择“我的电脑”→“属性”→“高级系统设置”→“环境变量”,新建CATALINA_BASE变量:

变量名:CATALINA_BASE

变量值:E:\soft\tomcat-7.0.32

效果如图2-13所示。(2)新建CATALINA_TMPDIR变量:

变量名:CATALINA_TMPDIR

变量值:E:\soft\tomcat-7.0.32\temp

效果如图2-14所示。图2-13 CATALINA_BASE变量设置图2-14 CATALINA_TMPDIR变量设置(3)新建CATALINA_HOME变量:

变量名:CATALINA_HOME

变量值:E:\soft\tomcat-7.0.32

效果如图2-15所示。图2-15 CATALINA_HOME变量设置(4)编辑path,在变量值最后追加E:\soft\tomcat-7.0.32\bin,然后单击“确定”按钮。

现在,Tomcat 7.0.2要运行的环境变量已经配置好了。然后启动Tomcat,可以点击Tomcat安装目录下的tomcat\bin\startup.bat文件启动Tomcat,也可以在命令提示符中启动,输入如下命令:

如图2-16所示。图2-16 Tomcat启动命令界面(5)接下来要设置manager。打开tomcat/conf/tomcat-users.xml文件,添加如下代码:说明:这里设置了账号为“admin”,密码为“123”。(6)到此,Tomcat设置基本完成。如果要与Eclipse配合使用,那还得进行一些配置,具体步骤如下:

window(窗口)→preferences→server→runtime environment→add→Apache→Apache Tomcat v7→next→tomcat installation directory浏览找到Tomcat的安装目录,单击“确定”按钮完成。(7)重新启动Tomcat,然后打开浏览器,输入网址http://localhost:8080/或http://127.0.1.1:8080/,打开浏览器,出现如图2-17界面,说明配置成功。图2-17 Tomcat启动界面首页2.3 搭建Java EE开发环境

我们上面讲解的内答,包括JDK、Tomcat环境搭建都是为了搭建Java EE开发环境奠定基础,没有JDK和Tomcat环境是没有办法开发Java EE项目的。其实只要有JDK环境和Tomcat环境结合就可以进行Web开发了,但是为了开发更方便、更有效率,我们一般都在一定的开发环境中进行的。常见的Java EE开发环境有JBuilder、JCreater、Eclipse和MyEclipse等等,这里我们选择比较流行的Eclipse和MyEclipse进行讲解。2.3.1 Eclipse的下载和安装(1)首先进入Eclipse官方网站http://www.eclipse.org/downloads,选择对应的版本进行下载,因为分32位的和64位的版本,这个根据您的电脑配置决定下载哪个版本的。还有Eclipse和JDK、Tomcat一样,同样分为安装版本和解压缩版本,这里下载解压缩版本的Eclipse,下载界面如图2-18所示。(2)单击图2-18中的下载箭头,就会进行下载了。当下载完成后选择一个您想放置的安装目录,直接解压到该目录即可。解压后打开该文件夹,如图2-19所示。

试读结束[说明:试读内容隐藏了图片]

下载完整电子书


相关推荐

最新文章


© 2020 txtepub下载