第2章 JSP页面与JSP标记(第2版)_第1页
第2章 JSP页面与JSP标记(第2版)_第2页
第2章 JSP页面与JSP标记(第2版)_第3页
第2章 JSP页面与JSP标记(第2版)_第4页
第2章 JSP页面与JSP标记(第2版)_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(第第2版版)第第2章章 配合一起使用一起使用 Power point 制作:张跃平 耿祥义 普通高等教育普通高等教育“十一五十一五”国家级规划教材国家级规划教材 JSP页面与JSP标记 S J P 2 主要内容主要内容 JSP页面的基本结构 页面的基本结构 变量和方法的声明变量和方法的声明 Java程序片 程序片 表达式表达式 JSP中的注释 中的注释 JSP指令标记 指令标记 JSP动作标记 动作标记 难点难点 Java程序片的运行原理 程序片的运行原理 include指令标记与 指令标记与include动作标记动作标记 关键实践关键实践 编写一个编写一个JSP页面,让该页面,让该JSP页

2、面包含页面包含5种基本的元素种基本的元素 编写含有编写含有JSP指令标记的指令标记的JSP页面页面 编写含有编写含有JSP动作标记的动作标记的JSP页面页面 第2章章 导读导读 S J P 3 2.1 JSP页面的基本结构页面的基本结构 JSP页面可由页面可由5种元素组合而成:种元素组合而成: 普通的普通的HTML标记符;标记符; JSP标记,如指令标记、动作标记;标记,如指令标记、动作标记; 变量和方法的声明;变量和方法的声明; Java程序片;程序片; Java表达式表达式 ; JSP页面的运行原理:页面的运行原理: 把把JSPJSP页面中普通的页面中普通的HTMLHTML标记符号,交给客

3、户的浏览器执行显示。标记符号,交给客户的浏览器执行显示。 JSPJSP标记、数据和方法声明、标记、数据和方法声明、JavaJava程序片由程序片由TomcatTomcat服务器负责执行,服务器负责执行, 将需要显示的结果发送给客户的浏览器。将需要显示的结果发送给客户的浏览器。 Java表达式由表达式由Tomcat服务器负责计算,将结果转化为字符串,交给服务器负责计算,将结果转化为字符串,交给 客户的浏览器负责显示。客户的浏览器负责显示。 S J P 4 例子例子1 例子1中,example2_1.jspexample2_1.jsp页面包含了5种元素,页面效果如 图2.1。 S J P 5 1.

4、1.在在JSP页面的标记符页面的标记符 “ ” 之间声明的变量称作之间声明的变量称作JSPJSP页面的成员变量。页面的成员变量。 例例2-2 2.在在JSP页面的标记符页面的标记符 “” 之间声明方法之间声明方法 。该方法在整个该方法在整个JSP页面有效页面有效 。 例例2-3 2.2 变量和方法的声明变量和方法的声明 S J P 6 例子例子2 例子2利用成员变量被所有用户共享这一性质,实现了一个 简单的计数器,页面效果如图2.2。 S J P 7 例子例子3 例子3中,example2_3.jsp在“”之间声明定义 了两个方法:getArea(double a)和getLength(dou

5、ble a),在程 序 片 中 调 用 这 两 个 方 法 , 分 别 计 算 园 的 面 积 和 周 长 。 example2_3.jsp页面效果如图2.3。 S J P 8 2.3 Java程序片程序片 n在在“”之间插入之间插入Java程序片。程序片。 n程序片中声明的变量称为程序片中声明的变量称为JSP页面的页面的局部变量局部变量。 n多个客户请求一个多个客户请求一个JSP页面时页面时 , Java程序片将程序片将被执行多被执行多 次次,分别在不同的线程中执行,分别在不同的线程中执行 。例例2-4 ,例例2-5 S J P 9 例子例子4 例子4中,通过synchronized方法操作

6、一个成员变量来实现一 个简单的计数器。 example2_4.jsp S J P 10 例子例子5 例子5通过将程序片分割成几部分,来验证用户输入的E-mail 地址中是否含有非法的字符,页面效果如图2.5。 S J P 11 2.4 表达式表达式 “%=”%”之间可以是一个之间可以是一个JavaJava表达表达 式式 。 表达式的值由服务器负责计算,并将计算结表达式的值由服务器负责计算,并将计算结 果用字符串形式发送到客户端显示。果用字符串形式发送到客户端显示。 例例2-6 S J P 12 例子例子6 例子6计算表达式的值,页面效果如图2.6。 example2_6.jsp Sin()除以

7、除以等于等于 的平方是:的平方是: 乘以乘以等于等于 的平方根等于的平方根等于 大于大于吗?回答:吗?回答:x% S J P 13 2.5 JSP中的注释中的注释 1. HTML注释格式注释格式: 2. JSP注释格式注释格式: 注:程序片中的注释注:程序片中的注释 / 例例2-7 例子7中的JSP页面使用了HTML注释和JSP注释。 example2_7.jsp S J P 14 2.6 JSP JSP 指令标记指令标记 2.6.1 page 2.6.1 page 指令指令 page 指令用来定义整个JSP页面的一些属性和这些属性的值。 page 指令标记可以指定如下属性的值contentT

8、ype、import、 language、session、buffer、auotFlush 、isThreadSafe、pageEncoding。 属性值用单引号或双引号括起来。可以用一个page指令指定多个 属性的值 ,也可以使用多个page指令分别为每个属性指定值 . page指令的作用对整个JSP页面有效,与其书写的位置无关,习惯 把page指令写在JSP页面的最前面。 例如例如: 或或 S J P 15 2.6.1 page 2.6.1 page 指令指令_languagelanguage属性属性 定义定义JSPJSP页面使用的脚本语言,该属性的页面使用的脚本语言,该属性的 值目前只能

9、取值目前只能取javajava。 例如例如: : 注:注:JSPJSP页面默认有如上页面默认有如上pagepage指令指令 。 S J P 16 2.6.1 page 2.6.1 page 指令指令_ _ import 属性属性 该属性的作用是为该属性的作用是为JSPJSP页面引入页面引入JavaJava运行环运行环 境提供的包中的类,这样就可以在境提供的包中的类,这样就可以在JSPJSP页面的页面的 程序片部分、变量及函数声明部分、表达式部程序片部分、变量及函数声明部分、表达式部 分使用包中的类。分使用包中的类。 例如例如: : 注:注:JSPJSP页面默认页面默认importimport属

10、性已经有属性已经有“java.lang.*”、 “javax.servlet.*” 等值。等值。 S J P 17 2.6.1 page 2.6.1 page 指令指令_ _contentType属性属性 contentType 属性值确定属性值确定JSP页面响应的页面响应的MIME (Multipurpose Internet Mail Extention)类型和)类型和JSP页面字页面字 符的编码。符的编码。 例如例如: : 注:注:不允许两次使用不允许两次使用page 指令给指令给contentType属性指定不同属性指定不同 的属性值的属性值 . 例例2-8 S J P 18 例子例子

11、8 例子8中有两个JSP页面,其中的first.jsp页面使用page 指令设置contentType属性的值是text/html;charset=GB2312, 当用户请求first.jsp页面时,用户的浏览器启用HTML解析器来解 析执行收到的信息;second.jsp页面使用page指令设置 contentType属性的值是application/msword,当用户请求 second.jsp页面时,用户的浏览器将启动本地的MS-Word应用程 序来解析执行收到的信息,页面效果如图2.7(a)、2.7(b)。 S J P 19 2.6.1 page 2.6.1 page 指令指令_ se

12、ssion_ session属性属性 用于设置是否需要使用内置的用于设置是否需要使用内置的sessionsession对象。对象。 sessionsession的属性值可以是的属性值可以是truetrue或或falsefalse。sessionsession 属性默认的属性值是属性默认的属性值是truetrue。 S J P 20 2.6.1 page 2.6.1 page 指令指令_ buffer_ buffer属性属性 内置输出流对象内置输出流对象outout负责将服务器的某些信负责将服务器的某些信 息或运行结果发送到客户端显示,息或运行结果发送到客户端显示,bufferbuffer属性属

13、性 用来指定用来指定outout设置的缓冲区的大小或不使用缓冲设置的缓冲区的大小或不使用缓冲 区。例如区。例如: : bufferbuffer属性的默认值是属性的默认值是8kb 8kb 。 bufferbuffer属性可以取值属性可以取值“none”none”,设置,设置outout不使用缓不使用缓 冲区。冲区。 参考参考4.4 详细讲解详细讲解out对象对象 S J P 21 2.6.1 page 2.6.1 page 指令指令_ _ autoFlushautoFlush属性属性 autoFlushautoFlush属性:属性: 指定指定outout的缓冲区被填满时,缓冲区是否自动刷新的缓冲

14、区被填满时,缓冲区是否自动刷新。 注:注: autoFlushautoFlush属性的默认值是属性的默认值是truetrue。 S J P 22 2.6.1 page 2.6.1 page 指令指令_ _isThreadSafeisThreadSafe属性属性 isThreadSafeisThreadSafe属性:属性: 用来设置用来设置JSPJSP页面是否可多线程访问。页面是否可多线程访问。 注:注: isThreadSafeisThreadSafe属性的默认值是属性的默认值是truetrue。 computer.jsp % for(int k=1;k S J P 23 2.6.1 page

15、 2.6.1 page 指令指令_info_info属性属性 infoinfo属性的属性值是一个字符串,其目的是为属性的属性值是一个字符串,其目的是为JSPJSP 页面准备一个常用且可能需要经常修改的字符串。页面准备一个常用且可能需要经常修改的字符串。 例如:例如: 注:注:可以在可以在JSPJSP页面中使用方法:页面中使用方法: getServletInfo(); 获取获取infoinfo属性的属性值。属性的属性值。 S J P 24 2.6.2 include 2.6.2 include 指令标记指令标记 include include指令标记的作用是在指令标记的作用是在JSPJSP页面出

16、现该指令的页面出现该指令的 位置处,静态插入一个文件。其语法格式如下:位置处,静态插入一个文件。其语法格式如下: 注:注:如果如果该文件和当前该文件和当前JSP页面页面在在同一同一Web服务目录中,那么服务目录中,那么“文件的文件的 URL”就是文件的名字;就是文件的名字; 如果如果该文件在该文件在JSP页面所在的页面所在的Web服务目录的服务目录的一个子目录中一个子目录中,比如,比如 fileDir子目录中,那么子目录中,那么“文件的文件的URL”就是就是“fileDir/文件的名字文件的名字”。 注:注:静态插入,就是当前静态插入,就是当前JSPJSP页面和插入的文件合并成一个新的页面和插

17、入的文件合并成一个新的JSPJSP页面,页面, 然后然后JSPJSP引擎再将这个新的引擎再将这个新的JSPJSP页面转译成页面转译成JavaJava文件。文件。 例例2-9,2-10 S J P 25 例子例子9 例子9中的example2_9.jsp页面使用include指令标记静态 插入一个文本文件Hello.txt,此文件和当前example2_9.jsp页面 在同一Web服务目录中,页面效果如图2.8。 Hello.txt 很高兴认识你们!很高兴认识你们! nice to meet you. S J P 26 例子例子10 例子10中的JSP页面example2_10.jsp使用inc

18、lude指令标记 静态插入一个JSP文件puter.jsp和 example2_10.jsp均保存在Web服务目录ch2中,example2_10.jsp 页面的效果如图2.10。 S J P 27 2.7 JSP JSP 动作标记动作标记 2.7.1 include 2.7.1 include 动作标记动作标记 语法格式:语法格式: 或或 param子标记子标记 includeinclude动作标记告诉动作标记告诉JSPJSP页面动态加载一个文件。页面动态加载一个文件。 注:注: include include 动作标记是在动作标记是在JSPJSP页面运行时才

19、处理文件,被页面运行时才处理文件,被 处理的文件在逻辑和语法上独立于当前处理的文件在逻辑和语法上独立于当前JSPJSP页面。页面。 例例2-11 S J P 28 例子例子11 例子11中的example2_11.jsp页面动态加载两个文件: imageCar.html和car.txt。我们把example2_11.jsp页面保存Web服 务目录ch2中。example2_11.jsp页面要动态加载的imageCar.html 文件,以及imageCar.html文件所使用的图像文件car.jpg均保存在 ch2中; example2_11.jsp页面要动态加载的car.txt文件保存在 ch

20、2的子目录Myfile中。 在浏览器的地址栏输入 :8080/ch2/example2_11.jsp 访问example2_11.jsp页面的效果如图2.10。 S J P 29 2.7.2 param2.7.2 param动作标记动作标记 paramparam标记以标记以“名字名字- -值值”的形式为的形式为其它其它标记提供附加信息标记提供附加信息. . 语法格式语法格式 注:注: paramparam标记不能独立使用,需作为标记不能独立使用,需作为jsp:includejsp:include、 jsp:forwardjsp:forward、jsp:plugin

21、jsp:plugin标记的子标记来使用。标记的子标记来使用。 注:注:当该标记与当该标记与jsp:includejsp:include动作标记一起使用时,可以将动作标记一起使用时,可以将 paramparam标记中的值传递到标记中的值传递到includeinclude动作标记要加载的文件中去,动作标记要加载的文件中去, 被加载的被加载的JSPJSP文件可以使用文件可以使用TomcatTomcat服务器提供的服务器提供的requestrequest内置对内置对 象获取象获取includeinclude动作标记的动作标记的paramparam子标记中子标记中namename属性所提供的值属性所提供

22、的值. . 例例2-12 S J P 30 例子例子12 例子12中,example2_12.jsp页面使用include动作标记动态 加载文件tom.jsp,当tom.jsp文件被加载时获取example2_12.jsp页 面中include动作标记的param子标记中name属性的值(tom.jsp文 件使用Tomcat服务器提供的request内置对象获取param子标记中 name属性的值,有关内置对象见后面的第4章)。 在浏览器的地址栏输入 :8080/ch2/example2_12.jsp访 问example2_12.jsp页面的效果如图2.11。 S

23、 J P 31 2.7.3 forward2.7.3 forward动作标记动作标记 该指令的作用是:从该指令处停止当前页面的继续执行,而该指令的作用是:从该指令处停止当前页面的继续执行,而 转向执行转向执行pagepage属性指定的属性指定的JSPJSP页面。页面。 语法格式:语法格式: 或或 param子标记子标记 例例2-13 S J P 32 例子例子13 例子13中的example2_13.jsp页面使用forward动作标记转向 c o m e . j s p 页 面 , 并 向 c o m e . j s p 页 面 传 递 一 个 数 值 。 example2_13.jsp和come.jsp页面保存在

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论