[计算机软件及应用]jsp教程 jsp语法

上传人:tia****nde 文档编号:70534479 上传时间:2019-01-17 格式:PPT 页数:39 大小:394.31KB
返回 下载 相关 举报
[计算机软件及应用]jsp教程 jsp语法_第1页
第1页 / 共39页
[计算机软件及应用]jsp教程 jsp语法_第2页
第2页 / 共39页
[计算机软件及应用]jsp教程 jsp语法_第3页
第3页 / 共39页
[计算机软件及应用]jsp教程 jsp语法_第4页
第4页 / 共39页
[计算机软件及应用]jsp教程 jsp语法_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《[计算机软件及应用]jsp教程 jsp语法》由会员分享,可在线阅读,更多相关《[计算机软件及应用]jsp教程 jsp语法(39页珍藏版)》请在金锄头文库上搜索。

1、第4章 JSP基本语法,一、JSP基本元素,一个完整的JSP程序一般包含JSP代码和HTML代码两部分,JSP代码嵌入在HTML代码中间。 JSP代码一般指Java程序片和JSP标签。 一个JSP页面可由以下四种元素构成: 模板元素 脚本元素 指令元素 动作元素,二、模板元素,模板元素主要指普通HTML标签、HTML注释等 基本标签 、-、 字符格式化 、 常用表单元素 单行文件本框 (“text”) 密码框(“password”) 单选按钮(“radio”) 复选按钮(“checkbox”) 重置按钮(“reset”) 提交按钮(“submit”) 文本域() 表格 、 详见“HTML主要标

2、签及含义”:http:/ 主要包括声明、表达式、Scriptlet三种。,声明,声明是指在JSP程序中定义变量和方法,声明后的变量和方法可以在JSP页面的任意地方使用。 声明放在“”标记符号间,使用格式如下: 如: 说明: ”之间定义的变量和方法是全局(静态)的;多个用户请求同一个JSP页面时,各用户共享成员变量(的值)。,表达式,表达式是获取变量的值或方法的返回值,并把结果在JPS页面上输,表达式在页面的位置即是结果输出位置。 在“”之间插入表达式,使用格式如下: 如: /获得变量i的值 /获得方法的返回值 说明: 在之间不可插入语句,表达式后没有“;”; 表达式必须能求值,其值由服务器负责

3、计算,将计算结果以字符串的形式返回并插入到JSP页面的相应位置。,表达式示例, Sin(0.9)除以3等于 3的平方是: 12345679乘72等于 5的平方根等于 99大于100吗?回答: 100% ,程序段:Scriptlet,Scriptlet即是Java程序片段,它可以包含任意的Java代码,实现复杂的操作和控制。 在“”之间插入Java程序片段,使用格式如下: 如: 说明: (1) 一个JSP页面可以有许多Java程序片,JSP引擎顺序执行这些程序片。可以把一个程序片拆分成几个更小的程序片,然后在这些小的程序片之间插入JSP页面的一些其他标记元素。 (2) ”之间定义的变量和方法是局

4、部(动态)的;多个用户请求同一个JSP页面时,各用户间没联系(分别拥有各自的局部变量)。,程序段Scriptlet示例, 你好 , 你好 你好 ,声明中定义的变量是全局变量,运行程序,i的值不断增加 您是第 个访问本站的客户。 ,程序片中定义的变量是局部变量,每次运行,i总是1 您是第 个访问本站的客户。 ,全局变量与局部变量的对比:计数器程序,课堂练习,求110的平方及平方根(求平方根的方法:Math里的sqrt() 方法)。并在浏览器中以表格的形式输出。,简单表格示例: 这是一行一列 这是一行二列 这是二行一列 这是二行二列 ,四、指令元素,JSP指令的主要作用是和JSP引擎之间进行沟通,

5、JSP指令发送消息到服务器端,并不向客户端产生任何输出。所有的指令都在JSP整个文件范围内有效。 在“”之间插入JSP指令,使用格式为: 说明: 属性值总是用双引号或单引号括起来; 属性之间用空格分隔,不需要任何标点。 JSP中主要有以下3种指令标签: page指令 include指令 taglib指令,Page指令,在JSP页面中,可以通过页面指令page来定义整个JSP页面的属性,通过这个指令定义的属性会对该JSP文件以及静态包含进来的页面起作用。 使用格式为: page指令可以设置的属性有: import、contentType、isThreadSafe、session、buffer、a

6、utoflush、extends、info、errorpage、isErrorpage、language、pageEncoding。 /各属性含义见书p87,page指令,说明: page指令可放在JSP的文件的任何地方,但为了增加程序的可读性,习惯上放置在页面的前面; page指令作用于整个JSP页面,包括静态的包含文件;但是指令不能作用于动态的包含文件 可以在一个页面中用上多个page指令,但其中的属性只能用一次,有个例外是import属性,可以出现多次,用于导入多个Java类。,page指令属性值,import属性 import属性导入JSP页面中使用的Java类,一个import属性可

7、以导入多个Java类,中间用逗号隔开。 例如: 上述代码也可以写成: 下面的包在JSP编译时已经导入了,所以就不需要再指明了: java.lang.* javax.servlet.* javax.servlet.jsp.* javax.servlet.http.*,page指令属性值,contentType属性 contentType属性指定返回浏览器的内容类型属性值可以是text/plain(纯文本文件)、text/html (纯文本的HTML页面) 、application/x-msexcel(Excel文件)、 application/x-msword(Word文件) contentTy

8、pe属性还可以指定返回浏览器的内容的字符编码格式。可以是ISO8859-1(英文,默认),或GB2321(中文) 例如,如果需要在返回浏览器的HTML页面中使用中文字符,可以使用下列page指令: ,page指令属性值,errorPage属性 errorPage属性指定错误或异常处理页面,当页面执行出现异常或错误时,浏览器显示该属性指定的页面。例如: isErrorPage属性 指定当前页面是否是异常处理页面,值为true或false,page指令属性值,pageEncoding属性 指定JSP页面的字符编码,默认是ISO-8859-1,若要正常显示汉字,通常指定为:GB2312或GBK pa

9、geEncoding和contentType的区别与联系: pageEncoding是jsp文件本身的编码;contentType的charset是指服务器发送给客户端时的内容编码 ,它们的预设都是 ISO8859-1. 而随便设定了其中一个, 一般另一个就跟着一样了。若都设置了,在设置JSP源文件字符集时,优先级为 pageEncoding contentType. 设置响应输出的字符集时,优先级为 contentType pageEncoding.,示例:info属性, 此页面信息如下: “+s); % ,info属性:一个字符串,常用于显示JSP页面的版本作者等信息,可使用getServ

10、letInfo()方法获得,课堂,在程序片中设置数组越界异常,在页面出现异常或错误时,跳转到errorPage指定的错误页面。 errorPage页面的输出内容为“数组下标越界了,请检查!”,并显示当前的日期。,include指令,include指令允许在JSP页面内某处静态嵌入一个文件,包含是在JSP页面被转译成Servlet时进行的,文件合并后被编译成一个.class文件,静态嵌入后包含与被包含文件视为一体。如主体文件的page指令对被包含文件的约束也是有效的,主体文件也可使用被包含文件中的变量。 格式为: 如:。 一般将一个网站各个页面相同的部分(如导航条、页眉页脚等)写成单独的文件,然

11、后静态include进各个页面,以减少重复代码。,include指令,说明: 一定要先写好被嵌入的文件,否则主体程序的编译不能被通过,所要嵌入的文件可以是文本、HTML、JSP等。 relativeURL这个路径名一般来说是指相对路径,不要端口、协议、域名,如: “error.jsp”、“/files/header.html”、“/test/data.jsp”; 包含文件中不再使用、标记,这些标记可能会影响在原JSP文件中同样的标记 ,这样做有时会导致错误。,课堂练习,创建一个html文件,内容及输出如下图。另创建多个JSP页面,分别包含该html文件,使得html文件的内容出现在每个JSP页

12、面的顶部。, 欢迎来到信息职业技术学院! 用户名: 密码: ,taglib指令,taglib指令用于引入JSP页面中需要使用的标签库的定义,以便在页面中使用标签库中定义的标签 使用格式: /uri用来表示标签描述符,也就是告诉容器怎么找到标签描述文件和标签库,prefix定义了在jsp页面里面要引用这个标签时的前缀。 例如: ,五、动作元素,JSP动作元素在用户请求阶段执行。利用JSP动作元素可以动态地插入文件、重用JavaBean组件、进行页面转向、为Java插件生成HTML代码等。 JSP动作元素是完全基于XML语法的,它采用严格的XML标签语法来表示,格式为: 或 ,JSP动作元素,JS

13、P规范中定义了一系列的动作元素,常用的动作元素有: 静态或动态包含一个外部文件。 请求转到一个新的页面。 在浏览器中播放或显示一个对象实例,如Applet或JavaBean。 为其他标签提供附加信息。 实例化或查找一个JavaBean。 设置JavaBean的属性。 输出某个JavaBean的属性。,元素,:该标签告诉JSP页面动态包含一个文件,该文件可以是一个静态的或者动态的文件。 若被包含文件是静态的,那么会把被包含文件的内容加到JSP文件中去;若文件是动态的,那么被包含文件会先被执行,然后把结果加入到JSP文件中去。还可以用向被包含的动态文件传递参数名和参数值。 的使用格式为: 不带参数

14、格式 flush=true|false / 带参数格式 ,元素,说明: page的属性值fileName为一相对路径,或者是代表相对路径的表达式。 flush的属性值为“true”表示缓冲区满时会被清空,它默认值是false,一般使用flush为true。 是以“名值”对的形式为其他标签提供附加信息,它不能单独使用,一般和、一起使用。子句能传递一个或多个参数值给动态文件。其中,name指定参数名,value指定参数值。若要传递多个参数,则可以使用多个。,示例:, 我是主文件 “ / 这里是主文件的其他内容 , 我是子文件 这里是子文件,我得到的参数值为: ,主文件,子文件,运行结果:,静态加载

15、和动态加载区别:, 指令标签include是静态包含,被包含文件是在编译时插入JSP页面,然后一起被JSP容器编译生成一个Servlet,动作标签是动态包含,是在JSP页面被请求时,主文件和被包含文件分别被JSP容器编译,生成两个Servlet,然后将被包含文件的Servlet调入到主文件的Servlet中。 指令标签在编译时就将子文件载入; 动作标签在运行时才将子文件载入;,课堂练习,a.jsp中使用include动作标签加载b.jsp,加载时向b.jsp传送某学生的姓名、学号、年龄, b.jsp获取并显示这些数据, 元素,:从该指令处停止当前页面的执行,而转向另一个JSP页面。 该元素将客

16、户端发出的请求(request),从一个JSP页面转交给另一个页面(可以是一个 HTML文件、JSP 文件、PHP文件、甚至可以是一个Java程序段)。 注意: “标签从一个JSP文件向另一个文件传递一个包含用户请求的request对象。 “与的区别”:forward标签之后的代码,将不能执行,而include在执行完被包含文件后,还会回主文件继续执行., 元素,使用格式为: 不带参数格式 / 带参数格式 其中:page的属性值fileName为一相对路径,或者是代表相对路径的表达式;参数被发送到跳转后的动态文件。,课堂练习,理解教材p95页:例4-11、例4-12 练一练 c.jsp使用forward动作标签转向d.jsp,转向时向d.jsp传送两个整数。在d.jsp中获取这两个整数,并计算其加、减、乘、

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号