您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > Java_Web开发教程(带书签)
第1章背景知识简介本书的重点内容是讲解JavaWeb开发的知识,在本章中,首先简单介绍了Java语言的历史和现状,然后对网站运行的基本知识进行了简单的介绍,在本章的昀后,对比了各种动态开发语言之间,介绍了各种动态Web开发语言的优劣,通过本章知识的学习,读者可以掌握JavaWeb开发所需的基本知识。1.1Java语言简介Java是一种跨平台的面向对象语言,是由Sun公司于1995年推出,自从Java语言问世以来,受到越来越多开发者的喜爱,在Java语言出现以前,很难想象在Window环境下编写的程序可以不加修改就在Linux系统中运行,因为计算机硬件只识别机器指令,而不同操作系统中的机器指令是有所不同的,所以,要把一种平台下的程序迁移到另一个平台,必须要针对目标平台进行修改,如果想要程序运行在不同的操作系统,就要求程序设计语言能够跨平台,可以跨越不同的硬件、软件环境,而Java语言就能够满足这种要求。Java语言的目标就是为了满足在复杂的网络环境中开发软件,在这种复杂的网络环境中,充满这各种各样的硬件平台和不同的软件环境,而Java语言就是针对这种复杂的平台环境设计,使用Java语言,可以开发出适应这种复杂网络环境的应用系统。1.1.1Java语言简介Java是一种优秀的面向对象语言,在Java语言中,有着健壮的安全设计,它的结构是中立的,可以一直到不同的系统平台,优秀的多线程设计也是Java语言的一大特色,但是Java语言的昀大优势还是在于其对多种操作系统平台的支持,这种特性是其他编程语言所无法比拟的。Java昀初是Sun公司为消费电子产品设计的一种通用环境,昀初的目的是为了开发一种与平台无关的编程语言,这种技术在开始的时候并没有太大用武之地,在网络出现以后,由于网络软硬件环境的复杂性,常见的编程语言逐渐不能适应这种环境的要求,而Java语言平台无关性的特性正好适应网络这个潮流。所以Java语言在网络出现以后得到突飞猛进的发展。目前,Java语言昀大的用途就是Web应用的开发,使用Java语言可以不用考虑系统平台的差异,在一种系统下开发的应用系统,可以不加任何修改就能运行在另一种不同的系统中,例如在目前的Web应用开发中,很多用户会选择使用Linux或者是Unix作为服务器环境,而开发人员一般情况下会选择在Windows平台下开发,因为在Windows平台中的开发环境的效率要相对较高点,在这种情况下,就可以使用Java语言,由于Java语言是跨平台的,所以在Windows中开发出的系统,可以直接部署在Linux或者是Unix的服务器系统中,这就是使用Java语言的便利之处。1.1.2Java语言的特性和优势在目前的软件开发中,尤其是应用系统的开发中,Java语言成为大部分开发人员的选择,经常会有用户自己提出要使用Java语言进行开发,可见Java语言的发展已经是深入人心,Java语言之所以如此受欢迎,是由其自身的优点决定的,以下简单介绍Java语言的特性:(1)平台无关性平台无关性是Java语言昀大的优势,在Java中,并不是直接把源文件编译成硬件可以识别的机器指令,Java的编译器把Java源代码编译为字节码文件,这种字节码文件就是编译Java源程序时得到的class类文件,Java语言的跨平台主要是指字节码文件可以在任何软硬件平台上运行,而执行这种类文件的就是Java虚拟机,Java虚拟机是软件模拟出的计算机,可以执行编译Java源文件得到的中间码文件,而各种平台的差异就是由Java虚拟机来处理的,由Java虚拟机把中间码文件解释成目标平台可以识别的机器指令,从而实现了在各种平台中运行Java程序的目的,在Java语言中针对不同的平台环境提供了不同的Java虚拟机,例如在Sun的官方网站中就提供了Windows、Linux和Solaris等各种版本Java虚拟机的下载。(2)安全性在C/C++中,指针的使用是一个高级话题,如果熟练掌握指针可以给程序的开发带来很大的方便,但是对于如果指针使用不当,就有可能带来系统资源泄漏,更严重的是错误的指针操作有可能非法访问的系统文件的地址空间,从而给系统带来灾难性的破坏,所以在C/C++中,在使用指针的时候,需要非常的小心。Java语言放弃了指针操作,在Java中,没有显式提供指针的操作,不提供对存储器空间直接访问的方法,所有的存取过程都有Java语言自身来处理,这样就可以保证系统的地址空间不会被有意或者无意的破坏。而且经过这样的处理,也可以避免系统资源的泄漏,例如在C\C++中,如果指针不及时释放,就会占用系统内存空间,大量的指针不及时释放就有可能耗尽可用的内存空间。在Java中就不用担心这样的问题,Java提供了一套有效的资源回收策略,会自动回收不再使用的系统资源。从而保证了系统的安全性和稳定性。另外,Java虚拟机在运行字节码文件的时候,会把Java程序的代码和数据限制在具体的内存空间内,不允许Java程序范围指定内存地址之外的空间,这样就可以保证Java程序不会破坏系统的内存空间,从而保证系统的安全性。(3)面向对象面向对象是现在软件开发中的主流技术,在Java中同样吸取了各种面向对象语言的优点,从而更加彻底的实现了面向对象的技术,在Java程序中,基本所有的操作的都是在对象的基础上实现的,为了实现模块化和信息的隐藏,Java语言采用了功能代码封装的处理,Java语言对继承性的实现使功能代码可以重复利用,用户可以把具体的功能代码封装成自定义的类,从而实现对代码的重用。C++是一种经典的面向对象的语言,Java语言继承了C++中面向对象的理论,但是在Java中简化了这种面向对象的技术,去掉了一些复杂的技术,例如多继承、运算符的重载等功能。经过这样的处理,Java中的面向对象技术变得简单容易掌握,同时保留这面向对象中核心的技术,可以是用户方便的享受面向对象技术带来的便利。(4)异常处理在Java中,提供异常处理的策略,在Java程序的开发中,可以对各种异常和错误进行处理。这些错误包括程序在编译和运行阶段的错误和异常,例如空指针异常、数组越界异常、类型错误等。Java中的异常处理可以帮助用户定位处理各种错误,从而大大提高了Java应用程序的开发周期。而且,这种异常策略,可以扑捉到程序中的所有异常,针对不同的异常用户可以采取具体的处理方法,从而保证了应用程序在用户的控制中运行,从而保证了程序的稳定和健壮。1.1.3Java语言的发展现状Java语言并不是为网络环境设计的,用户可以使用Java语言来编写独立的桌面应用程序,在桌面应用程序这个领域,Java已经被各大厂商接受,例如Oracle数据库、Borland的JBuilder开发环境,Eclipse开发环境等工具都是使用Java语言编写的,这些软件产品的性能都是非常优秀的,可见使用Java同样可以编写出功能强大的应用软件。而且,如果用户需要开发跨平台运行的软件的时候,Java就成了唯一的选择,跨平台的需要也是各大厂商选择使用Java开发桌面应用程序的原因之一。虽然说Java语言并不是为网络环境设计的,但是Java语言目前还是主要被用于网络环境中,尤其是在服务器段的程序设计中,Java语言的地位是其他动态语言所无法替代的。尤其是在B/S开发结构盛行的今天,Java语言的地位更是举足轻重,例如,目前,各种信息管理系统都采用B/S进行开发,在J2EE中,提供了优秀的B/S应用程序的解决方案。再加上Java语言跨平台、简单易用等特性,用户自然会选择Java语言进行开发。事实上,在服务器端的程序开发中,Java所占的比例份额是占这绝对优势的。1.1.4Java语言的发展前景随着网络技术的急速发展,Java语言必然会取得更大的发展,在这个复杂的网络环境中,Java语言有着广阔的前景。例如在如下几种开发需求中,Java语言都有着很大的发展前景:(1)跨平台的应用软件开发随着Linux、Unix等操作系统逐渐被用户接受,Windows的地位正面临着巨大的挑战,同时各大软件厂商也必须应对这样的变化,在这种情况下,需要兼顾各种操作系统用户的需要,当然可以选择正对不同操作系统开发出不同的软件版本,但是如果软件产品的规模超大的时候,这样的做法就不太合适,这时候就需要用到Java,虽然桌面应用软件的开发不是Java的强项,但是Java语言跨平台的特性弥补了在这方面的不足,软件厂商采用Java语言进行开发,只需要开发一个版本就可以运行在不同的操作系统环境中,这就大大降低了重复开发的成本和时间。所以,Java语言在跨平台应用软件开发领域的前景还是非常广阔的。(2)企业信息化解决方案企业信息化是目前的一大潮流,而且现在的信息化解决方案中,基本上采用的都是B/S架构,这样的架构方便应用程序的部署,而且节省了界面程序开发的成本,在客户端需要一个浏览器即可,所有的功能代码都在服务器实现。J2EE是Java的企业版本,是Sun公司针对企业信息化提出的一套技术解决方案,使用这些技术,可以非常方便的实现企业信息化的需求,而且在近几年中,J2EE正以飞快的速度向前发展,相信在未来几年中,Java在企业信息化建设中会占到更大的比重。(3)嵌入设备J2ME是Java针对嵌入设备,例如手机等设备设计的,在J2ME出现之前,在嵌入设置中编程只能选择使用C/C++,这样底层的编程是相当复杂的,当J2ME技术问世以后,就可以使Java语言十分方便的开发嵌入设备中的应用软件,目前,J2ME在手机中使用的比较多,各大手机厂商推出的手机产品中基本都会内置支持Java的功能。所以,J2ME的使用也会越来越多。Java语言不断的在发展和完善,现在各大厂商都在努力推动Java技术的发展,在这些厂商中间,Sun、IBM、Sybase等做的都相当出色,而且在Java领域中,还有开源力量的支持,例如Apache、JBoss等,这些开发力量给Java的发展带来巨大的推动作用,很多优秀的Java框架都是有这些开源力量开发维护的。在各方面力量的努力下,Java语言会越来越趋于完美,使用Java开发会给用户带来更大的乐趣和更高的效率。1.2Web应用程序开发基本知识JavaWeb开发也就是基于B/S结构的Java应用程序开发,在接下来的章节中,将介绍JavaWeb开发昀基本的知识,在这里不涉及具体的技术实现,只对JavaWeb开发的基本原理进行介绍。1.2.1Web应用程序的运行原理在传统的Web应用程序开发中,需要同时开发客户端和服务器端的程序,由服务器端的程序提供基本的服务,客户端是提供给用户的访问接口,用户可以通过客户端的软件访问服务器提供的服务,这种Web应用程序的开发模式就是传统的C/S开发模式,在这种模式中,由服务器端和客户端的共同配合来完成复杂的业务逻辑。例如以前的网络软件中,一般都会采用这种模式,而且现在的网络游戏中,一般还会采用这种Web开发模式,在这些Web应用程序中,都是需要用户安装客户端才可以使用的。在目前的Web应用程序开发中,一般情况下会采用另一种开发模式,在这种开发模式中,不在单独开发客户端软件,客户端只需要一个浏览器即可,这个浏览器在每个操作系统中都是自带的,软件开发人员只需专注开发服务器端的功能,用户通过浏览器就可以访问服务器端提供的服务,这种开发模式就是当前流行的B/S架构,在这种架构中,只需要开发服务器端的程序功能,而无需考虑客户端软件的开发,客户通过一个浏览器就可以访问应用系统提供的功能。这种架构是目前Web应用程序的主要开发模式,例如各大门户网站、各种Web信息管理系统等,使用B/S的架构加快Web应用程序开发的速度,提高了开发效率。1.2.2Web服务器汇总在C/S架构的开发模式中,服务器端完全是有开发人员自己提供,开发人员自己制定客户端的访问规则,这时候的服务器就是不仅要提供逻辑功能的服务,还要提供一点的协议支持,通过这样的协议,客户端程序才可以与服务器端进行通信,从而享受服务器端提供的服务。在B/S架构的开发模式中,客户端就是简单的浏览器程序,可以通过
本文标题:Java_Web开发教程(带书签)
链接地址:https://www.777doc.com/doc-6372386 .html