JSP程序设计与案例教程
上QQ阅读APP看书,第一时间看更新

1.1 初识JSP

1.1.1 JSP渊源

当今时代人们已经离不开网络,因特网上大量的网站为人们提供了各种各样的服务,人们可以在网上检索信息,进行电子商务活动,因特网已经成为现代人生活不可缺少的一部分。

从制作角度来讲,网站包括两部分:一是前台页面显示部分,二是后台功能实现部分。前台页面显示部分主要是利用网页排版工具将文字、图像和动画等页面元素组织在一起,此部分运用Photoshop、Dreamweaver和Flash等工具就能轻松实现。而后台功能实现部分则需要编程语言来实现。用于因特网的编程语言目前主要是3P,即ASP/ASP.NET、PHP和JSP。

JSP因因特网而生,并在因特网的世界里不断成长,日益发展壮大。JSP是Java Server Pages的缩写,它是一种服务器端脚本语言,是由Sun公司在其强大的Java语言基础上开发出来的。Java诞生于1995年1月,但是在过去Java语言在Web设计方面还不如PHP语言。为了弥补Java在Web设计方面支持不足的缺陷,Sun公司(已被甲骨文公司收购)在Java语言的基础上开发出了JSP。自1999年JSP 1.0发布以来,JSP可谓掀起了一场风暴,使用JSP进行开发的程序员越来越多,它不仅具有Java的强大功能,还能够为开发人员提供一个开发动态Web网站和Web应用的灵活工具。随着JSP标准标记库(JSTL)的引入,JSP 2.0将此技术又推向了一个新的高度。

1.1.2 网络编程的3P语言

目前广泛用于因特网环境下的编程语言主要是3P,即ASP/ASP.NET、PHP和JSP,这3种语言三足鼎立,各有独特的优越之处,又彼此拥有共同的对象成分。无论学好3种语言中的哪一种,都能完成因特网程序设计工作,同时又为学习其他的两种语言打下扎实的基础。本节将通过对3P语言进行对比介绍,进一步引入JSP课程的讲解

1.ASP/ASP.NET

ASP即Active Server Pages,是由微软公司推出的一个Web服务器端的开发环境,是最通用的网络编程语言之一,利用它可以产生和执行动态的、互动的、高性能的Web应用程序。ASP具有简单易学的特点,并且目前因特网上有大量的ASP资源可供学习使用。ASP.NET则是美国微软公司最新推出的一种因特网编程技术,在原有ASP技术的基础上进行了重大革新。ASP.NET是微软.NET构架的一部分,在语法上与ASP兼容,同时它还提供一种新的编程模型和结构,可生成伸缩性和稳定性更好的应用程序,并提供更好的安全保护。

2.PHP技术

PHP即Personal Home Page,它是一种跨平台的、服务器端嵌入式的脚本语言。它大量地借用了C语言、Java语言和Perl语言的语法特点。PHP使Web开发者能够快速地编写出动态的网页,它支持所有的主流数据库,而且PHP是完全免费的,使用时不需要支付任何费用。PHP具有简单易学、数据库功能强大、可扩展性好、面向对象编程,以及可伸缩性强等突出优点。

3.JSP技术

JSP即Java Server Pages,是由Sun公司倡导、多家公司参与共同研发建立的一种动态网页技术标准。该技术为创建动态网页提供了一个简捷而快速的方法。JSP技术的设计目的是使得构造基于Web的应用程序更加容易和快捷,而这些应用程序又能够与各种Web服务器、应用服务器、浏览器和开发工具共同工作。在传统的网页HTML文件(*.htm、*.html)中加入Java程序片段和JSP标记,即构成了JSP网页,JSP网页文件的扩展名是.JSP。

4.3P比较

1)ASP(ASP.NET)、PHP和JSP的对比。PHP是完全免费的,语法简单,易学易用,其配套的服务器Apache及数据库MySQL也同样免费。PHP在国外非常流行,近年来我国采用PHP开发中小型网站也比较流行,国外大多数服务器都提供免费的Apache+PHP+MySQL环境。PHP最大的缺点是不适合编写大中型网站。

ASP脚本语言非常简单,因此其代码也简单易懂且易于维护, ASP结合HTML代码,可快速地完成网站应用程序的开发。所以,非常适合小型网站的开发,甚至还可以完成小规模的企业应用。但ASP的致命缺点是不支持跨平台,在大型项目的开发和维护上非常困难。

JSP相对于ASP及PHP来说,学习难度相对较大,不易于使用,而且支持JSP的网站服务器也少于ASP和PHP。但JSP不但功能比ASP及PHP强大,而且安全性要远远高于ASP和PHP,在大中型企业应用上,JSP拥有相当大的优势,虽然相对其他网站编程语言来说相对复杂,但对于跨平台的大中型企业应用系统来讲,基于Java技术的JSP编程体系几乎成为唯一的选择。

2)ASP(ASP.NET)、PHP和JSP的联系。编写的程序用于在服务器上运行的称为服务器端编程技术。相应的,编写的代码用于在浏览器上运行的称为客户端编程技术。ASP/ASP.NET、PHP和JSP都是面向服务器端的编程技术。无论采用哪种语言编写的程序,浏览网页的浏览器不需要安装任何软件都能执行。三者都提供可以在HTML代码中混合使用本语言代码的功能。

3)ASP/ASP.NET、PHP和JSP的运行平台。ASP只能运行于微软平台上;最新版本的PHP可在Windows、UNIX和Linux的服务器上正常运行,PHP支持IIS、Apache等通用Web服务器,用户更换平台时,不需要重新编写PHP代码即可使用;JSP本身虽然也是脚本语言但是却和PHP、ASP有着本质的区别。运行时JSP代码被编译成Servlet,这种编译操作仅在对JSP页面的第一次请求时发生,即JSP遵循一次编译、处处运行的原理,并且可以运行于所有支持Java虚拟机的任何服务器,也就是说,JSP具有平台无关性,JSP几乎可以运行在所有平台上。JSP的另一优势在于,它使用功能强大的Java编程语言创建其动态内容。这意味着在Java中有数以百计的类和方法供程序员随意调遣。