第9章 JSP技术 9.1 JSP的本质及其工作原理 服务器端的脚本语言有很多种,如PHP、Perl、JSP(Java Server Pages)等。服务器端脚本语言都是被服务器中脚本解释程序解释执行的。脚本程序中要使用由网络发送或接收的数据,可通过脚本解释程序提供的API函数来访问。服务器端脚本所做的工作主要是完成所定义的“业务逻辑”即数据流的具体实现和界面定义。 Servlet通过把XHTML内嵌到Java代码中来实现业务逻辑数据流处理,最终以文档形式输出到客户端。而JSP则通过把某些形式的代码内嵌到XHTML文档中来实现一个文档的动态部分。JSP和Servlet的基本功能是相同的,只是JSP更适用于返回文档的大部分内容已经预先确定的情况,而Servlet则常用于返回文档的大部分内容需要动态产生的情况。 准确地说,JSP是Java语言的宏脚本,即JSP是被JSP翻译程序翻译为Java语言的,最终执行的是Java代码。所以JSP的运行环境不仅需要带有JSP翻译程序的服务器(如开源的Tomcat服务器,也叫JSP解释引擎),还需要有能编译和解释Java语言程序的JDK程序。 这就是在安装JSP运行环境的时候,为什么先需要安装JDK,然后再安装服务器,如Tomcat的原因。Tomcat中还有将JSP脚本翻译为Java语言程序的Servlet库代码,这也是执行的时候需要的。接下来的细节问题是:JSP脚本是在什么时候被翻译,什么时候被执行的?答案是JSP脚本在第一次被客户端请求访问的时候完成翻译和编译,在以后的访问中如果此JSP源脚本文件的修改日期没有被更新的话,就跳过这两步,不再进行翻译和编译。这样设计的好处是节省了时间和计算机资源,提高了效率,以后每次请求的时候可以直接进入解释执行环节。 为什么要创建和使用JSP脚本呢?为什么不直接书写Java的Servlet程序呢?这就是“宏”的好处。“宏”能把复杂的、重复性的、冗长的代码用一个简短的标识符代替。Servlet书写服务器端程序时,需要不断地使用out.println()语句向客户端发送数据,书写起来不方便,而在JSP脚本中文本是不需要使用out.println()这样的语句来进行处理的。 9.2 JSP运行环境和开发环境的创建 1.JSP运行环境 运行环境是指给定一个JSP源文件程序,能翻译、编译和解释执行所需要的库和编译、解释程序。编译、解释程序和一些类的库代码在JDK中。JSP脚本翻译程序一般属于服务器中的一个脚本翻译模块。此外,还需要负责和客户端通信的Web服务器。一般将脚本翻译模块和Web HTTP通信模块集成在一个Web服务器中,如Tomcat中。所以在创建运行环境时,主要做两件事情,即安装和配置。 在不同的操作系统环境下,安装和配置步骤略有区别。因为使用Java语言开发的不依赖于特定操作系统支持的程序可以运行在不同的操作系统平台上,所以在学习的过程中,要分别在Windows平台和Linux平台上搭建运行环境、开发环境,将开发的程序在两种平台上运行,进一步体会和理解Java语言的跨平台特性。以下介绍在Windows环境下进行安装和配置,创建JSP运行环境的方法。在选择安装包时,要选择对应平台下的安装包。如在Linux环境下选择rpm包和tar包(源代码包),在Windows环境下选择rar包或者exe包。 在Windows操作系统上安装JDK,这里选择的版本是jdk1.6.0。注意JDK的版本和Tomcat要求的JDK版本的匹配程度。第一步:获取JDK安装包。可以从Sun官方网站提供的下载地址下载,也可以从其他途径获得,如图9.1所示。 第二步:安装JDK。按照安装向导提示,一步一步地安装完毕即可。 配置环境变量PATH和CLASSPATH。PATH指示查找编译程序和解释程序的目录位置。CLASSPATH指示解释CLASS代码的目录位置。 图9.1 JDK安装包 选择命令“我的电脑→属性→高级→环境变量→新建系统变量(注意不是XXX用户变量)”,可以新建PATH变量。如果PATH变量已经存在,则不用新建,就在原来的基础上加一个分号“;”(注意是英文状态下的分号),然后把编译程序和解释程序的目录附在后面即可。注意不要把原来的PATH变量的值删除或清空,因为这个搜索路径是一个目录字符串列表,如果删除了原来的目录字符串,那原来的程序的搜索路径就会受到影响。还有一个要注意的地方就是,所添加的目录路径字符串要用英文状态下的引号括起来,如所安装的JDK的目录位置是C:\Program Files\Java\jdk1.6.0\bin,一定要定位和指示到bin这层目录,如图9.2所示。 对
您可能关注的文档
- (NET程序设计与开发)第1章技术导读.ppt
- (NET程序设计与开发)第2章VisualStudio2005集成开发环境简介.ppt
- (NET程序设计与开发)第4章常用的服务器控件.ppt
- (NET程序设计与开发)第5章验证控件.ppt
- (NET程序设计与开发)第7章SqlDataSource数据源控件.ppt
- (PLC应用技术课件)项目三PLC步进顺控指令及其应用.ppt
- (PLC应用技术课件)项目五PLC模拟量控制.ppt
- (Web开发技术)第1章Web技术概述.ppt
- (Web开发技术)第2章Web应用程序开发环境简介.ppt
- (Web开发技术)第4章CSS.ppt
- 山西天一大联考2025-2026学年高二上学期期末学情监测语文试题(试卷+解析).docx
- 山西忻州部分学校2025-2026学年高一上学期2月质量检测数学试题(人教B版)(试卷+解析).docx
- 山西运城市2025-2026学年高二第一学期期末调研测试数学试题(试卷+解析).docx
- 陕西省榆林市榆阳区2025-2026学年八年级上学期期末地理试题(试卷+解析).docx
- 陕西西安市碑林区2025-2026学年度第一学期期末八年级生物试题(试卷+解析).docx
- 四川省广元市苍溪县2025-2026年八年级上学期期末道德与法治试题(试卷+解析).docx
- 江苏泰州市姜堰区2025-2026学年七年级上学期1月期末数学试题(试卷+解析).docx
- 江苏省扬州市邗江区2025-2026学年九年级上学期期末考试化学试题(试卷+解析).docx
- 江西上饶市铅山县2025-2026学年第一学期期末考试八年级数学试题(试卷+解析).docx
- 江苏扬州市高邮市2025-2026学年度第一学期期末学业质量监测试题九年级英语(试卷+解析).docx
原创力文档

文档评论(0)