chap2_JSP语法
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
作为类的成员变量,被所有用户共享。
example2_2.jsp:
5
2. JSP页面的成员变量和方法
JSP页面在“<%!”和“%>”之间声明 定义的方法 ,在该JSP页面有效,该方法 内的变量只在该方法内有效
对于在“<%!”和“%>”标记符号之间 定义类,可以在Java程序片中使用该类 创建对象。
18
不允许两次使用page 指令给contentType 属性指定不同的属性值 .
常用类型值有: text/html、text/plain、 image/gif、 image/jpeg、 application/x-shockwave-flash、 application/msword等
实例:example2_8.jsp
16
contentType属性
contentType 属 性 值 确 定 JSP 页 面 响 应 的 MIME (Multipurpose Internet Mail Extention)类型。
例如:
<%@ page contentType="text/html " %> <%@ page contentType="application/msword" %>
如果需要在JSP页面内某处整体嵌入一个文件,就 可以考虑使用include指令标记,其语法格式如下: <%@ include file= "文件的URL " %>
如果该文件和当前JSP页面在同一Web服务目录中, 那么“文件的URL”就是文件的名字;
如果该文件在JSP页面所在目录的子目录中,比如 fileDir子目录中,那么“文件的URL”就是 “fileDir/文件的名字”。
第二章 JSP语法
1
内容提要
JSP页面的基本结构 JSP页面的成员变量和方法 Java程序片 Java表达式 JSP中的注释 JSP指令标记 JSP 动作标记
2
2.1 JSP页面的基本结构
JSP页面可由5种元素组合而成: ①普通的HTML标记和JavaScript标记; ② JSP标记,如指令标记、动作标记; ③ Java程序片; ④ 成员变量和方法的声明 ; ⑤ Java表达式
page指令的作用对整个JSP页面有效, 与其书写的位置无关,习惯把page指令 写在JSP页面的最前面。
page指令标记可以指定如下属性的值: contentType、pageEncoding、import、
language、session、buffer、 autoFlush 、isThreadSafe、info
27
include 动作标记
include动作标记:告诉JSP页面动态包含一个文 件,即JSP页面运行时才将文件加入
<jsp:include page= "文件的URL"/> 或 <jsp:include page= "文件的URL">
param子标记 </jsp:include>
28
Include动作标记与指令标记的比较
29
param动作标记
param标记以“名字—值”对的形式为其它标记提 供附加信息.
param 标记 不 能独立 使 用 ,需 作 为jsp:include 、 jsp:forward、jsp:plugin标记的子标记来使用。
<jsp:param name= “名字” value= “指定给param的值”>
example2_3.jsp
6
页面的方法需要定义在<%! %>内 因为Jsp页在到tomcat的时候会被编译
为java文件,jsp页面里面的所有东西都 会包含在一个方法里,如果不用声明标 签去声明这是个方法,就会报错,因为 方法里面不能有方法。
7
2.3 Java程序片
在“<%”和“%>”之间插入Java程序 片
25
静态插入,就是当前JSP页面和插入的文件合 并成一个新的JSP页面,然后JSP引擎再将这 个新的JSP页面转译成Java文件。
ok.txt example2_10_a.jsp example2_10_bjsp
26
2.7 JSP 动作标记
include动作标记 param动作标记 forward 动作标记 Plugin动作标记 useBean动作标记
<%@ page import="java.io.*", "java.util.Date" %>. 默 认 包 含 的 类 有 : ng.*, javax.servlet.*,
javax.servlet.jsp.*, javax.servlet.http.*
<%@ page import="java.io.*, java.util.Date" %>
19
language属性
定义JSP页面使用的脚本语言,该属性的值 目前只能取"java"。
为language属性指定值的格式: <%@ page language="java" %>
20
import 属性
该属性的作用是为JSP页面引入Java运行环境提供的包中 的类,这样就可以在JSP页面的程序片部分、变量及函数 声明部分、表达式部分使用包中的类。
客户端能够看到 2. JSP注释格式:
<%-- 注释内容 --%> 客户端无法看到
example2_7.jsp
13
6. JSP指令标记
• page 指令标记 • include指令标记
14
page指令标记
• page 指令用来定义整个JSP页面的一些属性和这 些属性的值,属性值用单引号或双引号括起来。
可用于加载applet: <jsp:plugin type="applet" code="B.class"
jreversion="1.2" width="200" height="260">
<jsp:fallback> Plugin tag OBJECT or EMBED not
supported by browser. </jsp:fallback>
21
buffer属性
内置输出流对象out负责将服务器的某些信息或运行结果 发送到客户端显示,buffer属性用来指定out设置的缓冲 区的大小或不使用缓冲区。例如:
<%@ page buffer= “24kb” %> buffer 属 性 的 默 认 值 是 8kb 。 buffer 属 性 可 以 取 值 "
example2_5.jsp
11
2.4 Java表达式
1. “<%=”和“%>”之间可以是一个Java表 达式,表达式必须能求值。(中间不能 有空格)
2. 表达式的值由服务器负责计算,并将计 算结果用字符串形式发送到客户端显示。
example2_6.jsp:
12
5. JSP中的注释
1. HTML注释格式: <!-- 注释内容 -->
• 可以用一个page指令指定多个属性的值,也可以 使用多个page指令分别为每个属性指定值。 <%@ page 属性1=“属性1值” 属性2= “属性2 值” ……%> 也可以写成: <%@ page 属性1="属性1的值" %> …… <%@ page 属性n="属性n的值" %>
15
page属性
用来设置JSP页面是否可多线程访问。 设成false时,该JSP页面同一时刻只能响应一个用户的
请求,其他用户须排队等待。23Info属性用来准备一个常用且可能需要经常修改的字 符,可通过getServletInfo()方法获取。
example2_9.jsp
24
2.6.2 include指令标记
当用户执行Java程序片调用JSP页面的方 法操作成员变量时,如果不希望其他用 户操作,可以将方法声明为同步方法
example2_4.jsp
网页中可以有多个Java程序片,按书写 顺序执行。
10
可以将一个Java程序片分割成几个Java 程序片,然后在这些Java程序片之间再 插入其他标记元素。
none",设置out不使用缓冲区。
autoFlush属性
指定out的缓冲区被填满时,缓冲区是否自动刷新。
22
session属性
用于设置是否需要使用内置的session对象。session的 属性值可以是true或false。session属性默认的属性值 是true。
isThreadSafe属性
当该标记与jsp:include动作标记一起使用时,可 以将param标记中的值传递到include动作标记要加 载的文件中去,被加载的JSP文件可以使用request
对象获取
example2_11.jsp 、 triangle.jsp
30
forward 动作标记
该指令的作用是:从该指令处停止当前页面的继 续执行,而转向执行page属性指定的JSP页面。
<%@ include file= "文件的URL " %>
Include指令标记是静态插入文件,在编译阶段包 含,被处理的文件在逻辑和语法上依赖于当前的 JSP页面,优点是执行速度快
<jsp:include page= "文件的URL"/>
Include动作标记在JSP页面运行时才处理文件, 被处理的文件在逻辑和语法上独立于当前JSP页面, 优点是可以使用param子标记灵活地处理.
17
也可以为contentType的附加属性charset指定一个值 <%@ page contentType="text/html;charset=GB2312" %> <%@ page contentType="text/html;charset=ISO-8859-1"
%>
ISO-8859-1编码是单字节编码,向下兼容ASCII, 收录的字符除ASCII收录的字符外,还包括西欧 语言、希腊语、泰语、阿拉伯语、希伯来语对应 的文字符号。
33
小结
JSP页面的基本结构 JSP页面的成员变量和方法 Java程序片 Java表达式 JSP中的注释 JSP指令标记 JSP 动作标记
34
<jsp:forward page="要转向的页面" /> 或 <jsp:forward page="要转向的页面" >
param子标记 </jsp:forward>
example2_12.jsp 、 example2_12_a.jsp 、example2_12_b.jsp
31
Plugin动作标记
</jsp:plugin> 与<applet……></applet>的区别
32
useBean动作标记
该标记用来创建并使用一个Javabean,是 非常重要的一个动作标记,我们将在第4章 详细讨论。Sun公司的倡导是:用HTML完 成JSP页面的静态部分,用Javabean完成动 态部分,实现真正意义上的静态和动态分离。
3
页面的执行
example2_1.jsp
JSP文件
Java文件
字节码文件
客户 客户
返回结果 TOMCAT服务器 客户线程
返回结果
客户线程
执行 字节码 文件
执行
4
2.2 变量和方法的声明
在JSP页面的标记符“<%!”和“%>”之 间声明的变量称作JSP页面的成员变量 .
在整个JSP页面内有效,与标记符在页面 中的位置无关,但是习惯上写在前面
程序片中声明的变量称为JSP页面的局部 变量
局部变量在JSP页面后继的所有程序片以 及表达式部分内有效
8
程序片中的操作
在程序片中,可以 操作JSP页面的成员变量 调用JSP页面的方法 声明和操作局部变量
多个用户请求同一个JSP页面时,Java程序 片中的局部变量互不干扰
9
Synchronized关键字
example2_2.jsp:
5
2. JSP页面的成员变量和方法
JSP页面在“<%!”和“%>”之间声明 定义的方法 ,在该JSP页面有效,该方法 内的变量只在该方法内有效
对于在“<%!”和“%>”标记符号之间 定义类,可以在Java程序片中使用该类 创建对象。
18
不允许两次使用page 指令给contentType 属性指定不同的属性值 .
常用类型值有: text/html、text/plain、 image/gif、 image/jpeg、 application/x-shockwave-flash、 application/msword等
实例:example2_8.jsp
16
contentType属性
contentType 属 性 值 确 定 JSP 页 面 响 应 的 MIME (Multipurpose Internet Mail Extention)类型。
例如:
<%@ page contentType="text/html " %> <%@ page contentType="application/msword" %>
如果需要在JSP页面内某处整体嵌入一个文件,就 可以考虑使用include指令标记,其语法格式如下: <%@ include file= "文件的URL " %>
如果该文件和当前JSP页面在同一Web服务目录中, 那么“文件的URL”就是文件的名字;
如果该文件在JSP页面所在目录的子目录中,比如 fileDir子目录中,那么“文件的URL”就是 “fileDir/文件的名字”。
第二章 JSP语法
1
内容提要
JSP页面的基本结构 JSP页面的成员变量和方法 Java程序片 Java表达式 JSP中的注释 JSP指令标记 JSP 动作标记
2
2.1 JSP页面的基本结构
JSP页面可由5种元素组合而成: ①普通的HTML标记和JavaScript标记; ② JSP标记,如指令标记、动作标记; ③ Java程序片; ④ 成员变量和方法的声明 ; ⑤ Java表达式
page指令的作用对整个JSP页面有效, 与其书写的位置无关,习惯把page指令 写在JSP页面的最前面。
page指令标记可以指定如下属性的值: contentType、pageEncoding、import、
language、session、buffer、 autoFlush 、isThreadSafe、info
27
include 动作标记
include动作标记:告诉JSP页面动态包含一个文 件,即JSP页面运行时才将文件加入
<jsp:include page= "文件的URL"/> 或 <jsp:include page= "文件的URL">
param子标记 </jsp:include>
28
Include动作标记与指令标记的比较
29
param动作标记
param标记以“名字—值”对的形式为其它标记提 供附加信息.
param 标记 不 能独立 使 用 ,需 作 为jsp:include 、 jsp:forward、jsp:plugin标记的子标记来使用。
<jsp:param name= “名字” value= “指定给param的值”>
example2_3.jsp
6
页面的方法需要定义在<%! %>内 因为Jsp页在到tomcat的时候会被编译
为java文件,jsp页面里面的所有东西都 会包含在一个方法里,如果不用声明标 签去声明这是个方法,就会报错,因为 方法里面不能有方法。
7
2.3 Java程序片
在“<%”和“%>”之间插入Java程序 片
25
静态插入,就是当前JSP页面和插入的文件合 并成一个新的JSP页面,然后JSP引擎再将这 个新的JSP页面转译成Java文件。
ok.txt example2_10_a.jsp example2_10_bjsp
26
2.7 JSP 动作标记
include动作标记 param动作标记 forward 动作标记 Plugin动作标记 useBean动作标记
<%@ page import="java.io.*", "java.util.Date" %>. 默 认 包 含 的 类 有 : ng.*, javax.servlet.*,
javax.servlet.jsp.*, javax.servlet.http.*
<%@ page import="java.io.*, java.util.Date" %>
19
language属性
定义JSP页面使用的脚本语言,该属性的值 目前只能取"java"。
为language属性指定值的格式: <%@ page language="java" %>
20
import 属性
该属性的作用是为JSP页面引入Java运行环境提供的包中 的类,这样就可以在JSP页面的程序片部分、变量及函数 声明部分、表达式部分使用包中的类。
客户端能够看到 2. JSP注释格式:
<%-- 注释内容 --%> 客户端无法看到
example2_7.jsp
13
6. JSP指令标记
• page 指令标记 • include指令标记
14
page指令标记
• page 指令用来定义整个JSP页面的一些属性和这 些属性的值,属性值用单引号或双引号括起来。
可用于加载applet: <jsp:plugin type="applet" code="B.class"
jreversion="1.2" width="200" height="260">
<jsp:fallback> Plugin tag OBJECT or EMBED not
supported by browser. </jsp:fallback>
21
buffer属性
内置输出流对象out负责将服务器的某些信息或运行结果 发送到客户端显示,buffer属性用来指定out设置的缓冲 区的大小或不使用缓冲区。例如:
<%@ page buffer= “24kb” %> buffer 属 性 的 默 认 值 是 8kb 。 buffer 属 性 可 以 取 值 "
example2_5.jsp
11
2.4 Java表达式
1. “<%=”和“%>”之间可以是一个Java表 达式,表达式必须能求值。(中间不能 有空格)
2. 表达式的值由服务器负责计算,并将计 算结果用字符串形式发送到客户端显示。
example2_6.jsp:
12
5. JSP中的注释
1. HTML注释格式: <!-- 注释内容 -->
• 可以用一个page指令指定多个属性的值,也可以 使用多个page指令分别为每个属性指定值。 <%@ page 属性1=“属性1值” 属性2= “属性2 值” ……%> 也可以写成: <%@ page 属性1="属性1的值" %> …… <%@ page 属性n="属性n的值" %>
15
page属性
用来设置JSP页面是否可多线程访问。 设成false时,该JSP页面同一时刻只能响应一个用户的
请求,其他用户须排队等待。23Info属性用来准备一个常用且可能需要经常修改的字 符,可通过getServletInfo()方法获取。
example2_9.jsp
24
2.6.2 include指令标记
当用户执行Java程序片调用JSP页面的方 法操作成员变量时,如果不希望其他用 户操作,可以将方法声明为同步方法
example2_4.jsp
网页中可以有多个Java程序片,按书写 顺序执行。
10
可以将一个Java程序片分割成几个Java 程序片,然后在这些Java程序片之间再 插入其他标记元素。
none",设置out不使用缓冲区。
autoFlush属性
指定out的缓冲区被填满时,缓冲区是否自动刷新。
22
session属性
用于设置是否需要使用内置的session对象。session的 属性值可以是true或false。session属性默认的属性值 是true。
isThreadSafe属性
当该标记与jsp:include动作标记一起使用时,可 以将param标记中的值传递到include动作标记要加 载的文件中去,被加载的JSP文件可以使用request
对象获取
example2_11.jsp 、 triangle.jsp
30
forward 动作标记
该指令的作用是:从该指令处停止当前页面的继 续执行,而转向执行page属性指定的JSP页面。
<%@ include file= "文件的URL " %>
Include指令标记是静态插入文件,在编译阶段包 含,被处理的文件在逻辑和语法上依赖于当前的 JSP页面,优点是执行速度快
<jsp:include page= "文件的URL"/>
Include动作标记在JSP页面运行时才处理文件, 被处理的文件在逻辑和语法上独立于当前JSP页面, 优点是可以使用param子标记灵活地处理.
17
也可以为contentType的附加属性charset指定一个值 <%@ page contentType="text/html;charset=GB2312" %> <%@ page contentType="text/html;charset=ISO-8859-1"
%>
ISO-8859-1编码是单字节编码,向下兼容ASCII, 收录的字符除ASCII收录的字符外,还包括西欧 语言、希腊语、泰语、阿拉伯语、希伯来语对应 的文字符号。
33
小结
JSP页面的基本结构 JSP页面的成员变量和方法 Java程序片 Java表达式 JSP中的注释 JSP指令标记 JSP 动作标记
34
<jsp:forward page="要转向的页面" /> 或 <jsp:forward page="要转向的页面" >
param子标记 </jsp:forward>
example2_12.jsp 、 example2_12_a.jsp 、example2_12_b.jsp
31
Plugin动作标记
</jsp:plugin> 与<applet……></applet>的区别
32
useBean动作标记
该标记用来创建并使用一个Javabean,是 非常重要的一个动作标记,我们将在第4章 详细讨论。Sun公司的倡导是:用HTML完 成JSP页面的静态部分,用Javabean完成动 态部分,实现真正意义上的静态和动态分离。
3
页面的执行
example2_1.jsp
JSP文件
Java文件
字节码文件
客户 客户
返回结果 TOMCAT服务器 客户线程
返回结果
客户线程
执行 字节码 文件
执行
4
2.2 变量和方法的声明
在JSP页面的标记符“<%!”和“%>”之 间声明的变量称作JSP页面的成员变量 .
在整个JSP页面内有效,与标记符在页面 中的位置无关,但是习惯上写在前面
程序片中声明的变量称为JSP页面的局部 变量
局部变量在JSP页面后继的所有程序片以 及表达式部分内有效
8
程序片中的操作
在程序片中,可以 操作JSP页面的成员变量 调用JSP页面的方法 声明和操作局部变量
多个用户请求同一个JSP页面时,Java程序 片中的局部变量互不干扰
9
Synchronized关键字