




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2022-3-281Java Web开发技术开发技术第第2章章 JSP基础基础2022-3-28Java Web开发技术开发技术2第第2章章 JSP基础基础2.1 JSP页面的基本组成 2.2 JSP页面中的注释2.3 声明2.4 代码段2.5 表达式2.6 JSP指令 2.7 JSP动作 2.8 本章小结2022-3-28Java Web开发技术开发技术32.1 JSP页面的基本组成页面的基本组成l一个JSP页面是由传统的HTML页面标记加上JSP标记和嵌入的Java代码组成,由以下4种元素组成:HTML标记、JSP标记、JSP脚本和注释。 lJSP标记包括指令标记和动作标记。指令标记是为J
2、SP引擎而设计的,它向JSP引擎发送消息,告诉引擎如何处理其余JSP页面。动作标记是JSP页面特有的标记,它告诉Web容器去执行某个“动作”。 2022-3-28Java Web开发技术开发技术4JSP页面的基本组成(续)页面的基本组成(续)lJSP脚本是JSP页面中插入的Java代码,它又可以细分为声明、代码段和表达式。l声明用于定义特定于JSP页面(Servlet类)的变量、方法和类;l代码段是嵌入的Java语句;l表达式是Java脚本中输出语句的简化表示形式。l课本例exa2_1.jsp、exa2_2.jsp 2022-3-28Java Web开发技术开发技术5JSP页面的执行过程页面的
3、执行过程当服务器上的一个JSP页面第一次被请求时,Web服务器上的JSP引擎首先将JSP页面编译成Servlet,然后执行该Servlet。该Servlet主要完成以下2项任务:(1)把JSP页面中的HTML标记交给客户端的浏览器去解释执行。(2)把JSP页面中的JSP指令标记、动作标记、JSP声明、代码段和表达式交给服务器去执行,然后将结果送给浏览器。2022-3-28Java Web开发技术开发技术6JSP页面的通用书写规则页面的通用书写规则 lJSP页面中HTML标记不区分大小写 ,JSP标记和页面中嵌入的Java代码区分大小写。l在JSP页面中,虽然指令和脚本元素所拥有的语法不是基于X
4、ML的,但可以获得一种可以替代的基于XML的语法。 l在标记中出现的属性值总是用引号括起来的:使用单引号或双引号。 2022-3-28Java Web开发技术开发技术7JSP页面的通用书写规则页面的通用书写规则 (续)(续)lJSP使用的URL地址要遵循 Servlet的惯例 l在JSP文档体中的文本中的空白符无关紧要,空白包括空格和空行。 l在标记中可以使用字符” ”(反斜杠)来作为换码字符 2022-3-28Java Web开发技术开发技术82.2 JSP页面中的注释页面中的注释 2.2.1 HTML注释 2.2.2 隐藏注释 2.2.3 脚本注释 2022-3-28Java Web开发技
5、术开发技术92.2.1 HTML注释注释lHTML注释是使用标签“”创建的l语法形式: l课本例exa2_3.jsp、exa2_4.jsp 2022-3-28Java Web开发技术开发技术102.2.2 隐藏注释隐藏注释l隐藏注释也称为JSP注释,只能在原始JSP文件中看到。 l语法形式: l课本例exa2_5.jsp 2022-3-28Java Web开发技术开发技术112.2.3 脚本注释脚本注释 l在JSP页面的java脚本中使用的注释。其语法形式为: / 单行注释 /* 注释 */l脚本注释不仅能在原始JSP文件中看到,而且能在JSP编译成的Servlet中看到。l课本例exa2_6
6、.jsp 2022-3-28Java Web开发技术开发技术122.3 声明声明2.3.1 变量声明2.3.2 方法声明2.3.3 声明类2022-3-28Java Web开发技术开发技术13声明概述声明概述lJSP声明定义网页范围的变量、函数或类,让页面的其余部分能够使用。 l声明的变量和方法是该页面所对应的Servlet类的成员变量和成员方法,声明的类是Servlet类的内部类。 l声明块包含在中 。l包括变量声明、方法声明和声明类三种。2022-3-28Java Web开发技术开发技术142.3.1 变量声明变量声明l用于定义特定于 JSP 页面的变量,声明的变量成了 JSP 页面转换到
7、的 Servlet 类的成员变量,可以被该JSP页面中其他任何部分使用。 l其语法形式为:l声明的变量类型可以是Java语言中允许的任何数据类型。2022-3-28Java Web开发技术开发技术152.3.2 方法声明方法声明l声明的方法在JSP页面有效,它编译成Servlet 类的成员方法。可以由页面上所有脚本元素访问。 l其语法形式为: l方法声明方式跟Java中方法定义的形式一样,要给出方法返回类型、方法名、方法形参和方法体。l课本例exa2_7.jsp 、exa2_8.jsp 、exa2_9.jsp 2022-3-28Java Web开发技术开发技术162.3.3 声明类声明类l声明
8、类是JSP页面对应的Servlet类的内部类,页面上所有脚本元素都可以创建该类的对象。l其语法形式为:l课本例exa2_10.jsp 2022-3-28Java Web开发技术开发技术172.4 代码段代码段l代码段是包含在之间的Java程序片段,包含一个或多个有效而完整的语句。当Web服务器接受客户端请求时,这段Java程序代码会被执行并向客户产生输出。 l其语法形式为: l课本例exa2_11.jsp、 exa2_12.jsp 2022-3-28Java Web开发技术开发技术18代码段的注意事项代码段的注意事项l一个JSP页面可以有多个代码段,它们被JSP引擎按顺序执行。l在代码段中也可
9、以声明变量,但这些变量是_jspService()中的局部变量,它们在JSP页面内所有代码段部分和表达式部分有效。2022-3-28Java Web开发技术开发技术19代码段的注意事项(续)代码段的注意事项(续)l当JSP页面包含多个Java代码段时,这些代码段之间可以插入一些标记元素。l当客户请求一个JSP页面时,JSP引擎为每个客户产生一个线程,每个线程分别执行各自的_jspService()方法,因此一个客户对局部变量的操作不会影响其它客户。2022-3-28Java Web开发技术开发技术202.5 表达式表达式lJSP页面中可以在之间插入表达式,用于输出表达式计算的结果。在请求处理阶
10、段JSP引擎将计算表达式的值,结果最终转换成一个相应的字符串。l表达式的语法形式为: l课本例exa2_13.jsp2022-3-28Java Web开发技术开发技术21表达式的组成表达式的组成表达式可以由以下组成部分构成:l数字和字符串的字母值,比如2和“hello”l数学运算符,如+、-、*和l基本数据类型的变量l声明类的对象实例l在JSP中声明方法的调用l声明类所创建的对象的方法调用2022-3-28Java Web开发技术开发技术22表达式的注意事项表达式的注意事项(1)“%=”是一个完整的符号,“%”和“=”不能插入空格。(2)表达式可以包含任何Java表达式,只要表达式可以求值。(
11、3) 表达式中不能插入语句,也不能以分号结束。2022-3-28Java Web开发技术开发技术23表达式的注意事项(续)表达式的注意事项(续)(4)表达式是Java代码段的一种简单书写方式,其功能和代码段等效。 相当于 假如 i 值为 5,则: 打印:number5 图 2-15 表达式与 Java 代码段的功能等价示意图 2022-3-28Java Web开发技术开发技术242.6 JSP指令指令2.6.1 page指令2.6.2 include指令2.6.3 taglib指令2022-3-28Java Web开发技术开发技术25JSP指令概述指令概述lJSP指令是针对JSP容器的,它将有
12、关页面的特殊处理信息传送到JSP容器,告诉容器如何处理JSP网页,它并不会直接产生任何看得见的输出。l指令的语法形式为: l指令主要包括:page 指令、include 指令和taglib指令。2022-3-28Java Web开发技术开发技术262.6.1 page指令指令lpage指令用来定义和操作许多重要的依赖于页面的属性,这些属性影响整个JSP文件 。lpage指令可以在JSP页面的任何地方、以任何顺序出现,而且一个页面可以包含任意数量的page指令。为了程序的可读性以及好的编程习惯,最好还是把它放在JSP页面的顶部。 2022-3-28Java Web开发技术开发技术27page指令
13、的语法指令的语法lpage指令的语法为: l课本例exa2_14.jsp 属性属性描述描述缺省值缺省值language定义要使用的脚本语言,将来 JSP包容器支持多种语言时可使用它Javaimport定义以逗号分隔的类或包的列表,就像在通常的 Java代码中所使用的import语句那样缺省情况下忽略buffer定义输出流的缓冲区大小。如果值为none,则没有缓冲与实现有关;至少为 8KBautoFlush定义是否自动清除输出流缓冲区。如果为true,当缓冲区满时,自动把缓冲区内容输出给客户;如果为false,当缓冲区满时,会有一个运行时异常trueisThreadSafe定义页面是否支持多个用
14、户的并发访问。如果为true,则JSP引擎会同时处理多个客户请求;如果为false,则JSP引擎会对客户请求进行排队,某个时刻只处理一个请求truecontentType定义JSP页面的字符编码方式和MIME类型。它的形式可以为MIMETYPE或MIMETYPE;charset =CHARSETMIMETYPE的缺省值为text/html;CHARSET的缺省值为ISO-8859-1info页面中可取到的字符串无缺省extends定义页面转换成的Servlet类继承的父类无缺省session定义本页是否使用session对象trueerrorPage定义页面异常时转向的页面的URL地址无isE
15、rrorPage定义页面是否为其它页面的异常处理页面。值为true的页面会自动获取Exception对象falsepageEncoding定义JSP页面的字符编码方式ISO-8859-1isElIgnored定义页面是否忽略EL表达式的计算与服务器种类有关2022-3-28Java Web开发技术开发技术29page指令的注意事项指令的注意事项(1)import属性:如果不写该属性,JSP页面自动引入以下4个包:java.servlet.*;java.lang.*; java.servlet.http.*;;java.servlet.jsp.*。(2)contentType属性: MIMETY
16、PE的缺省值为”text/html”;CHARSET的缺省值为”ISO-8859-1”。经常如下写法,以支持页面中的中文显示:2022-3-28Java Web开发技术开发技术302.6.2 include指令指令l如果需要在一个JSP页面中包括另一个文件,可以使用include指令。l指令的语法形式为: l该指令的作用是在JSP页面中该指令出现的位置静态插入一个文件。include指令能让页面内容分成几个组成部分分别管理。l课本例exa2_15.jsp、exa2_16.jsp 2022-3-28Java Web开发技术开发技术31include指令的注意事项指令的注意事项(1)出现在一个JS
17、P页面中的include指令的数量不受限制。 (2)被包含文件的URL路径一定是和发出指令的JSP页面相对的路径。 (3)该指令采取的是静态插入方式,所谓静态插入,是指当前的JSP页面和被嵌入的文件合并成一个新的JSP页面,然后JSP引擎再将这个新页面转换成Servlet。 2022-3-28Java Web开发技术开发技术32include指令的注意事项(续)指令的注意事项(续)(4)所包含的文件可以是HTML网页、文本文件或者是JSP网页,并且这些文件应该和当前JSP页面在同一个Web应用中。(5)必须保证合并后的JSP页面符合JSP语法规则。 2022-3-28Java Web开发技术开
18、发技术332.6.3 taglib指令指令l除了标准的JSP标记以外,JSP标准还允许普通用户定义自己的标记。通过自定义标记的调用来完成用户的自定义动作。所有JSP自定义标记按组存放在标记库中。l要使用一个标记库中的标记,就要将标记库导入到JSP页面中,这需要使用taglib指令。2022-3-28Java Web开发技术开发技术34taglib指令的语法指令的语法l taglib指令的语法形式为:其中uri是用户自定义标记所在的标记库描述文件的url地址,prefix是标记库描述文件的前缀。 l课本例hello.jsp2022-3-28Java Web开发技术开发技术35使用用户自定义标记的
19、条件使用用户自定义标记的条件(1)标记处理器:描述了使用自定义标记时所发生的动作,它是实现了javax.servlet.jsp.tagext包中Tag接口或BodyTag接口的类。 (2)标记库描述文件(TLD):是一个XML文档,它包含着标记库及库内每一个自定义标记的信息。 2022-3-28Java Web开发技术开发技术36使用用户自定义标记的条件(续)使用用户自定义标记的条件(续)(3)web.xml文件中标签库的描述:根据J2EE规范,每一个Web应用都有一个web.xml文件。JSP应用程序可以使用这个文件来定位标记库描述文件。(4)在JSP页面中使用用户自定义标记 。2022-3
20、-28Java Web开发技术开发技术372.7 JSP动作动作2.7.1 动作标记2.7.2 动作标记2.7.3 动作标记 2.7.4 动作标记 2.7.5 动作标记 2022-3-28Java Web开发技术开发技术38JSP动作标记概述动作标记概述lJSP动作标记是JSP页面中使用的一种特殊的标记,它利用XML语法格式的标记来控制JSP引擎完成某种功能。 lJSP动作标记可以完成很多功能,如实例化对象、与服务器端资源进行通信、提高组件的可重用性和可维护性、在JSP页面中包括一个外部的资源、把用户重定向到另外的页面等。 2022-3-28Java Web开发技术开发技术39常用的常用的JS
21、P动作标记动作标记常用的JSP动作标记包括: l:在页面被请求的时候引入一个文件l:把请求转到一个新的页l:根据浏览器类型为Java插件生成OBJECT或EMBED标记l:寻找或者实例化一个JavaBeanl:设置JavaBean的属性l:输出某个JavaBean的属性 2022-3-28Java Web开发技术开发技术402.7.1 动作标记动作标记 l用来在JSP页面中动态包含一个文件,包含页面与被包含文件是彼此独立的,互不影响。 l动作可包含一个动态文件也可包含一个静态文件。如果包含的是一个静态文件就直接输出给客户端,由客户端的浏览器负责显示;如果包含的是一个动态文件则由服务器的JSP引
22、擎负责执行,把运行结果返回给客户端显示出来。 2022-3-28Java Web开发技术开发技术41动作语法一动作语法一l动作语法一: jsp:include page=relativeURL| flush=true|false / l其中,page属性表示要包含的文件的相对地址,它可以是一个字符串,也可以是一个JSP表达式。flush属性默认为false,若为true则表示当缓冲区满时,缓冲区将被清空。 2022-3-28Java Web开发技术开发技术42动作语法二动作语法二l动作语法二: jsp:include page=relativeURL| flush=true|false jsp
23、:param name=paramName value=paramValue| /l课本例exa2_17.jsp 2022-3-28Java Web开发技术开发技术43include指令和指令和include 动作区别动作区别 (1)嵌入的内容。include指令嵌入的是静态的文本或页面,而include动作包含的可以是静态或动态内容。(2)嵌入被包含页面的时间。include动作在处理请求时才将被包含页面嵌入进来,而include指令是在JSP文件被转换成Servlet的时候引入文件。(3)共享局部变量。用include动作时,在页面中声明的变量不可用于另一文件;而在用include指令时,
24、当前页面和被包含页面可以共享变量。2022-3-28Java Web开发技术开发技术44include指令和指令和include 动作区别(续)动作区别(续) (4)修改的生效时间。用include指令时,修改的生效需刷新页面或去掉已经编译成的Servlet;而用include动作时,被包含页面的修改会随时生效。(5)变量名冲突。用include指令时注意新生成的JSP页面要符合JSP语法要求,应该避免变量名的冲突。而用include动作不存在变量名冲突问题。 2022-3-28Java Web开发技术开发技术452.7.2 动作标记动作标记 l标记提供了“名称值”信息,用于将附加在reque
25、st中的参数发送至转发的页面,可与 、和标记一起使用。2022-3-28Java Web开发技术开发技术46动作的语法动作的语法 l动作标记的语法形式为:jsp:param name=parameterName value=parameterValue | / name属性指定参数的名称,value属性指定参数的值。 l课本例exa2_18.jsp2022-3-28Java Web开发技术开发技术472.7.3 动作标记动作标记 l动作将当前页面的执行过程终止忽略它的输出并且把请求转向一个新的页。 l语法格式一:jsp:forward page=relativeURL | / 2022-3-28Java Web开发技术开发技术48动作标记语法二动作标记语法二l语法格式二:jsp:forward page=relativeURL | jsp:param name=paraName value=paraValue | /l
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 爱心传递温暖人间写人作文6篇
- 精卫填海作文扩写七年级(8篇)
- 品牌使用权协议
- 《中学信息技术基础:计算机操作与应用技巧》
- 身边的小故事一次难忘的经历(7篇)
- 公交公司科技活动方案
- 小学教师节作文300字范文11篇
- 公众号参观活动方案
- 公众活动策划方案
- 公会歪歪活动方案
- 边坡巡检记录表完整优秀版
- 《创新与创业基础》课程思政优秀教学案例(一等奖)
- 原子荧光分析(汞)原始记录2
- 北师大版五下书法《第6课戈字旁》课件
- 铁路TBT3089SNS柔性防护网技术手册
- (高清正版)T_CAGHP 054—2019 地质灾害治理工程质量检验评定标准(试行)
- 物流招标文件模板(完整版)
- 关于地理高考四大能力要求解读
- 空气动力学PPT课件
- 广西地方标准《闽楠栽培技术规程》(征求意见稿)
- 室内灯具系列专业英语词汇
评论
0/150
提交评论