- Java Web开发基础与案例教程
- 吴艳 刘丽华
- 1743字
- 2025-02-18 04:56:47
3.1 JSP简介
JSP技术是目前Web开发中应用较为广泛的技术之一。本章对JSP技术、JSP技术的优点、缺点以及应用前景做简要介绍。
3.1.1 JSP的概念
JSP(Java Server Pages,Java服务器页面)是由Sun公司倡导与多家公司合作,于1999年推出的一种动态网页技术标准。它是基于Java Servlet的Web开发技术,利用这一技术可以开发动态的、高性能的Web应用程序。JSP页面是由HTML文档、Java程序片段以及JSP标记等组成。
1.JSP的优点
(1)一次编写,处处运行
由于JSP页面使用的是Java语言,因此它集成了Java语言的特点——“一次编写,处处运行”,这种概念正越来越深远地影响着互联网行业的交互式Web网页的设计理念。JSP页面可以很容易地实现跨平台、跨Web服务器。
(2)JSP组件跨平台
JSP组件是跨平台、可重用的。企业JavaBeans组件可以访问传统的数据库,并能以分布式系统模式工作于Solaris、Linux、UNIX和Windows平台。
(3)支持多种网页格式
目前,JSP技术不仅可以支持传统浏览器的文件格式,如超文本标记语言(HyperText Markup Language,HTML)、动态的HTML(Dynamic HTML,DHTML)等,还可以支持应用于无线通信设备进行网页预览的无线标记语言(Wireless Markup Language,WML)文件格式,此外,也可以支持其他一些B2B(Business-to-Business)电子商务网站应用的XML格式。
(4)JSP标签可扩充性
JSP是使用标签和脚本技术来制作动态的Web网页。JSP技术允许开发者扩展JSP标签、定制JSP标签库,网页开发者可以充分利用JSP与XML兼容的标签技术大大减少对脚本语言的依赖。
(5)页面的表示层与逻辑层分开
使用JSP技术使得开发人员的分工更加明确:页面设计者使用HTML标记来设计界面;应用程序开发者使用JSP标记或脚本生成页面上的动态内容。两者之间彼此独立,在修改时可以互不影响。
(6)执行速度快
JSP文件在第一次运行后,会生成字节码文件,所以再次执行该程序时速度就会很快。
(7)健壮性与安全性
由于JSP页面使用的脚本语言也是Java语言,因此它也包含了Java技术的另外一些优点:存储管理的健壮性和高安全性。
2.JSP的缺点
(1)占用大量的内存和硬盘空间
Java的高速运行是通过*.class文件常驻内存来实现的,因此占用大量的内存;另外,存储这一系列的*.java文件和*.class文件以及对应的版本文件也需要占用大量的硬盘空间。
(2)程序调试困难
JSP页面执行时,首先被转换为*.java文件,然后将*.java文件编译为字节码文件。这样,出错信息实际上指向的是转换后的那个*.java文件,而不是JSP本身,因此,在程序的调试上增加了一定的难度。
(3)增加了产品的复杂性
Java系统通过开发多种产品,如JRE、JDK、J2EE、EJB、JSWDK、JavaBeans,以获得系统的跨平台功能和提高产品伸缩能力,这些产品必须有效地组合在一起,才能产生强大的功能,因此,这就无形中增加了产品的复杂性。
3.1.2 JSP页面基本组成
一个JSP页面由以下几个基本元素组成。
●HTML标签。
●CSS。
●变量和方法。
●Java程序片。
●JSP动作和指令。
●其他脚本元素等。
在以后小节中会详细介绍各个组成元素的内容。
3.1.3 JSP基本语法
在JSP页面中,经常使用到变量、方法、表达式以及脚本等,下面分别介绍这些基本元素的使用。
1.变量和方法的声明
在JSP页面中可以声明一个或多个合法的变量和方法,并将在JSP页面初始化时进行初始化,声明后的变量和方法可以在本JSP页面的任何位置使用。
声明变量、方法的语法格式如下。

在声明变量和方法时,需要注意以下几点。
1)声明以“<%!”或者“%”开头,以%>”结尾。
2)变量名和方法名的命名规则与Java中的变量名和方法名的命名规则相同。
3)一次可以声明多个变量和方法,但是它们之间要用“,”分开,以“;”结尾。
4)可以直接使用在%@pag%>中被包含进来的已经声明的变量和方法,不需要对其重新进行声明。
5)一个声明仅在一个页面中有效。如果想要某些声明在每个页面中都可以使用,那么最好把它们写成一个单独的文件,然后用%@includ%>指令或<jsp:include>动作包含进来。
例如:

2.表达式和脚本
JSP的表达式是由变量、常量、运算符等组成,可以将数据转换成一个字符串在网页上直接输出。JSP的表达式中没有分号,表达式的语法格式如下。

JSP表达式常用在以下几种情况。
●向页面输出内容。
●生成动态的链接地址。
●动态指定form表单处理页面。
注意:在“<%”与“=”中间不要有空格。
例如:<%=str%>
JSP脚本就是Java程序片段,可以包含任何符合Java语法规范的成分。脚本段是一个代码片段,在服务器处理请求过程中被执行。其格式为:

例如:

3.1.4 案例——使用JSP输出九九乘法表
【例3-1】输出九九乘法表(jj.jsp)。

运行结果如图3-1所示。

图3-1 九九表输出结果图