5.2.1 JSP概述

5.2.1 JSP概述

1.JSP概念

JSP是用来开发动态页面的一种服务器端脚本技术。它是由Sun公司倡导、多个公司参与,于1999年推出的一种技术标准。利用这一技术,开发人员可以高效率地创建具备安全性高、跨平台等优点的Web应用程序。

在深入了解JSP之前,有必要介绍一下与JSP相关的技术。

(1)Java

Java是由Sun公司于1995年推出的编程技术。Java的特点是简单、面向对象、平台无关性、安全性、多线程。Java编写的源程序被编译后成为.class的字节码文件,最终通过执行该字节码文件执行Java程序。

JSP使用了Java语言实现动态内容,以Java技术为基础。它继承了Java简单、面向对象、跨平台和安全可靠等优良特性。

(2)Servlet

Servlet技术采用Java语言实现了服务器端程序,其基本概念在5.1.3节已做简单介绍。

JSP是在Servlet的基础上开发的一种技术,所以JSP与Servlet有着密不可分的关系。服务器在执行JSP程序时会将其转换为Servlet代码,可以说创建一个JSP程序其实就是创建一个Servlet程序的简化操作。所有JSP页面都在服务器端转换成Servlet程序,这样就具备了Java技术的所有特点。

Servlet与JSP相比有以下几点区别。

①编程方式不同。从形式上看,Servlet是将HTML代码包含在Java文件中,而JSP是将Java代码包含在HTML代码中。如下面代码所示,左侧是JSP代码,右侧是实现相同功能的Servlet代码。

②复杂度不同。Servlet要求专业程度比较高的编程技术,需要程序员掌握更多底层知识。

③显示和逻辑的分离度不同。JSP使用了组件技术,更为有效地对显示和业务逻辑进行了分离。

(3)JavaBean

JavaBean是根据特殊的规范编写的普通的Java类,可称它们为“独立的组件”。通过应用JavaBean在JSP页面中封装各种业务逻辑,可以很好地将业务逻辑和前台显示代码分离。它最大的优点就是提高了代码的可读性和可重用性,并且对程序的后期维护和扩展起到了积极的作用。

2.JSP技术特征

JSP相对于其他浏览器/服务器(B/S)模式下的动态页面技术有诸多优势,其技术特征主要有以下几个方面。

(1)跨平台

JSP是以Java为基础开发的,与平台无关,所以JSP可以很方便地从一个平台移植到另一个平台。不管是在何种平台下,只要服务器支持JSP,就可以运行由JSP开发的Web应用程序。

(2)分离静态内容和动态内容

开发JSP的应用时,程序员可以使用HTML或XML标记来设计和格式化静态内容,而将业务逻辑封装到JavaBean组件中,利用JavaBean组件、JSP标签或脚本来设计编辑动态页面,从而有效地将静态和动态内容区分开,为程序的修改和扩展带来了很大方便。

(3)可重用性

大多数JSP页面依赖于可重用的、跨平台的JavaBean组件。它封装了业务逻辑以执行应用程序要求的复杂处理。这样开发人员能够共享执行普通操作的组件,而不必关心实现细节,大大提高了系统的可重用性。

(4)编写容易

相对于Java Servlet来说,使用从Java Servlet发展而来的JSP技术开发Web应用更加简单易学,并且提供了Java Servlet所有的特性。

(5)预编译

预编译是JSP的另一个重要的特性。JSP页面通常只进行一次编译,即在JSP页面被第1次请求时,称为预编译。在后续的请求中,如果JSP页面没有被修改过,服务器只需要直接调用这些已经被编译好的代码即可,这大大提高了访问速度。