




已阅读5页,还剩55页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
JSP语法 本章主要内容 JSP运行基本原理JSP指令元素JSP脚本元素JSP动作元素 问题 下面分别为html文件和jsp文件的源码 请在浏览器中的源文件中查看源码 两源码是否一致呢 为什么会产生这种现象呢 你好 你好 你好 你好 JSP概念 Java服务器页面 JavaServerPage JSP JSP JavaServerPages 是由Sun公司倡导 许多别的公司参与一起建立的一种新动态网页技术标准 类似其他技术标准 如ASP PHP或是ColdFusion 等等 JavaServerPages技术是一个建立在Java平台上的技术 它主要用来动态产生网页内容 包括 HTML DHTML XHTML和XML 在传统的网页HTML文件 htm html 中加入Java程序片段 Scriptlet 和JSP标签 构成了JSP网页 jsp JSP页面的组成元素 JSP概念 第一个JSP页面你好 这就是一个JSP页面 简单不 演示示例1 JSP执行过程 说明一下JSP的执行过程 1 客户端发出Request 请求 2 JSPContainer将JSP转译成Servlet的源代码 3 将产生的Servlet的源代码经过编译后 并加载到内存执行 4 把结果Response 响应 至客户端 JSP执行过程 在执行JSP网页时 通常可分为两个时期 转译时期 TranslationTime 和请求时期 RequestTime 转译时期 JSP网页转译成Servlet类 请求时期 Servlet类执行后 响应结果至客户端 补充 转译期间主要做了两件事情 将JSP网页转译为Servlet源代码 java 此段称为转译时期 Translationtime 将Servlet源代码 java 编译成Servlet类 class 此段称为编译时期 Compilationtime JSP执行过程 Counter jsp经过转译时期 转译成servlet源代码 counter java 确定jsp中的错误 无误后 进入编译时期 将servlet源代码 java 编译成servlet类 class 请求时期就是执行servlet类 将响应结果传给客户端 JSP注释元素 JSP页面中的注释用于说明程序段的主要作用或程序员的意图 方便日后维护或备忘 JSP页面中的注释主要两种 JSP注释和HTML注释 JSP注释元素 JSP注释也叫隐藏注释或服务器端注释 只有打开JSP页面后才能看到它 JSP注释中的内容被编译器忽略 不会出现在Servlet程序中 也不会返回给客户端浏览器 其基本语法为 JSP注释元素 例如 JSP注释在JSP页面上的位置没有统一规定 但习惯上写在程序段前 需要注意 JSP注释嵌套在类似于 的标记内 JSP注释元素 HTML注释也叫输出注释 属于HTML标记范畴 其基本语法为 JSP注释元素 HTML注释被JSP编译器视为HTML标记 直接用out write 方法输出 标记中的注释内容会返回到客户端浏览器 但注释信息不会在浏览器中显示 在HTML注释中 可以使用或等标记输出一些动态的注释信息 JSP指令元素 JSP指令元素 DirectiveElements 主要供JSP容器使用 为JSP容器提供相关的页面属性信息 用于指示JSP容器如何正确地翻译代码 或者执行特定的操作 JSP指令元素主要包括三个 include page和taglib 它们的基本语法格式形如 JSP指令元素 page指令元素page指令用于设置当前JSP页面的属性 page指令中的属性大多数只需要在JSP页面中定义一次 page指令中允许重复使用多次的属性有pageEncoding和import属性等 习惯上 把page指令写在JSP页面的头部 JSP指令元素 page指令的基本语法格式如下 JSP指令元素 1 language属性这个属性定义JSP页面脚本代码所采用的编程语言 默认值为java 2 extends属性JSP页面最终会被JSP容器编译成一个Servlet程序 extends属性用于定义这个Servlet程序的父类 JSP指令元素 3 import属性import属性用于导入当前JSP页面中要用到的其它Java类 如果要导入多个Java类 用逗号来分隔它们 例如要导入java util 和java io 可写为 也可以分为两行来写 例如 JSP指令元素 4 pageEncoding属性pageEncoding定义当前页面的字符编码标准 默认的字符集为ISO 8859 1 如果页面中有简体中文 则字符集应该定义为GB2312或GBK 2 3JSP指令元素 5 contentType属性contentType属性定义MIME类型 MIME type 和字符集 MIME MultipurposeInternetMailExtensions 多功能Internet邮件扩充服务 使用简单的ASCII文本来传递E mail信息 E mail中允许包含有任意类型的附件文件 JSP指令元素 给HTTP协议附加了MIME type信息 用于指明HTTP中所传递信息的数据类型 浏览器接收完数据后 按照数据的类型调用合适的软件来处理这些数据 例如 如果接收到的信息是一个Excel文件 则浏览器会自动启动Excel软件来处理这些信息 如果Excel软件启动失败或客户端找不到Excel软件时 IE浏览器提示用户将接收到的信息另存为文件 JSP指令元素 常见的MIME type类型 JSP指令元素 contentType属性的一般用法如下示 2 3JSP指令元素 6 session属性session属性用来指示JSP页面的Servlet实现类中 是否要生成一个session隐含对象 JSP指令元素 7 buffer属性out对象是JSP页面的隐含对象之一 用于向客户端返回信息 buffer属性为out对象定义输出流缓冲区 则out write 输出的信息会暂时存储在缓冲区中 缓冲区被刷新后 其中的信息会通过PrintWriter对象传给客户端 JSP指令元素 输出缓冲区能够改善系统的性能 buffer属性取值为none时 表示不设缓冲区 则out对象的输出信息会直接传递PrintWriter 当buffer取值为nkb时 表示缓冲区的大小为nKB 默认值为8KB 一个应用样例如 JSP指令元素 8 autoFlush属性定义out对象缓冲区的刷新属性 autoFulsh取值为true时 表示缓冲区满时自动执行刷新操作 取值为false表示缓冲区满时 抛出一个IOException异常 默认值为true 这个属性一般和buffer属性联合使用 如果buffer none 时 则autoFlush true 无效 一个应用样例如 JSP指令元素 9 isThreadSafe属性isThreadSafe true 时 表示JSP编译后所得的Servlet程序以多线程方式工作 采用Servlet多线程方式工作能提高程序的响应速度 减少系统开销 默认值为true 当isThreadSafe false 时 表示Servlet程序以单线程方式工作 JSP指令元素 10 info属性定义JSP页面的信息 如版权 开发日期等 可通过javax sevlet Servlet getServletInfo 方法读取这些信息 一个样例如下示 JSP指令元素 11 isELIgnored属性isELIgnored true 时 表示忽略JSP页面中的EL表达式 isELIgnored false 时表示JSP页面中的EL表达式要被解释和执行 默认值为true EL表达式是JSP2 0中新增的技术规范 JSP指令元素 12 errorPage属性JSP页面如果发生了运行时异常 出错原因 出错的类名 出错的行号 出错的方法名等信息会被封装在异常对象中 errorPage属性用于指明 JSP页面发生运行时异常 则把异常对象传递给指定的出错页处理 errorPage中的值为出错页的URL 可用相对路径或绝对路径表达 此项默认值为空 则运行时异常信息直接显示在浏览器上 应用样例如下示 JSP指令元素 当前JSP页面出现运行时异常 服务器会把异常对象传递给nullString jsp页面处理 errorPage属性在JSP页面中只需定义一次 如果定义多次 编译时可能会引发 重复标记 的语法错误 或 JSP指令元素 13 isErrorPage属性isErrorPage true 时 定义本JSP页面为异常对象处理页 特点是当前JSP页面的Servlet实现类中定义有exception隐含对象 接收异常页传递过来的异常信息 isErrorPage false 时 Servlet程序中不定义exception隐含对象 例子见教材P58 JSP指令元素 include指令元素1 include指令的基本语法include指令元素称为文件包含 是在JSP容器把JSP网页翻译成Servlet程序时 将指定文本文件的内容嵌入Servlet程序中 替换include指令 其基本语法为 JSP指令元素 file属性指出被包含资源的URL 可使用相对路径或绝对路径 绝对路径以Web应用的上下文路径名 xxxx 开头 如 JSP指令元素 2 include指令的使用注意事项include指令适合于包含静态内容 include指令是代码静态绑定 被include指令包含的内容在编译时会被静态地嵌入Servlet程序中 include指令影响JSP页面的可读性 JSP脚本元素 一 声明元素声明元素用于声明类成员变量 成员方法或内部类 1 声明元素的基本语法格式 JSP脚本元素 2 用声明元素声明类成员变量例如 JSP脚本元素 3 用声明元素声明成员方法例如 JSP脚本元素 二 脚本小程序脚本小程序就是一段Java代码 在JSP页面中声明脚本小程序的基本语法格式为 Tomcat把标记内的Java代码段放在Servlet实现类 jspService 方法的try 内 所以在内定义的变量属于局部变量 并且作用范围仅限于try 内 如果有多个标记 则按出现的先后顺序转译到try 内 JSP脚本元素 一个样例如下示 思考 在声明元素和脚本元素中定义的变量有什么区别呢 例如 对比下面源码中的两个变量 JSP脚本元素 三 表达式元素表达式元素的基本功能是运行一条Java表达式 如果表达式有计算结果 则把结果显示在表达式位置上 表达式元素的基本语法格式如下 JSP脚本元素 表达式元素的标记经过Tomcat翻译后 在Servlet实现类中一般表示为 如果表达式复杂 则标记可能被分解成多条连续的out write 语句 表达式元素的用法例如 注意表达式不能带Java语句结束符 out write expression JSP标准动作 在JSP中 将类似于的JSP标记也称为JSP动作 JSP动作分为标准动作和扩展动作 JSP标准动作是一组形如 的标记 标记的前缀均为 jsp JSP标准动作的标记名是由JSP规范定义 用户不能随意更改 利用JSP动作可以动态地插入文件 将用户重定向到另一个页面 动态生成XML元素等 JSP标准动作 JSP标准动作 一 动作动作也叫动态包含 它将被包含的文件视为一个独立的文件 在程序运行时包含目标资源的返回信息 动态包含一个文件相当于在运行时动态调用这个文件 被包含的资源可以是动态的 也可以是静态的 JSP标准动作 动态包含的基本语法格式如下 或 JSP标准动作 在标记中 page urlSpec 属性定义了被包含资源的URL 可用相对路径或绝对路径表达 属性flush true 时 表示在包含目标资源前 先刷新当前页面输出缓冲区中的内容 flush false 时 包含文件前 不刷新当前页面的输出缓冲区 默认值为false 如果要给被包含的页面传递参数 可以使用标记 JSP标准动作 在被包含的页面中 不能改变response的状态码 也不能对HTTP响应报头进行设置 这些工作应当在调用页面中进行 例如 有一个被包含的文件my2 jsp为 调用包含文件返回的结果 JSP标准动作 要在my1 jsp包含这个JSP文件 则调用代码为 在Tomcat中 my1 jsp和my2 jsp被编译成两个Servlet程序 其中动作在Servlet实现类中的代码为 JSP标准动作 JSP容器能自动识别被包含文件中的内容哪些是静态 哪些是动态 对于静态内容不作处理 直接打印输出 对于动态内容 则执行相应的程序代码 值得注意的是 如果被包含文件中存在动态内容 则文件名的后缀应该为 jsp 如果取其它的文件名后缀 JSP容器在调用被包含文件时不执行编译操作 动态内容的代码将被忽略 JSP标准动作 三 动作主要是为 和等动作元素传递参数 如果在其它场合中使用它 JSP容器会报告翻译错误 的基本语法为 JSP标准动作 三 动作动作使程序从当前页面跳转到另一个目标页面运行 目标页面可以是静态资源 如 htm 也可以是一个JSP页面 jsp 还可以是一个Servlet CGI程序等 会导致当前JSP页面运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Lesson 4 A birthday card教学设计-2025-2026学年初中英语冀教版2024七年级上册-冀教版2024
- 4.6 汽化与液化第二课时说课稿-2025-2026学年浙教版七年级上册科学
- 2025年中考化学试题分类汇编:常见仪器及基本操作(第1期)解析版
- 第三节 可再生资源的利用与保护-以土地资源为例说课稿-2025-2026学年高中地理湘教版选修Ⅵ环境保护-湘教版2004
- 蓄电池的结构组成
- 2025年天津市河西区中考二模物理试题(解析版)
- 蓄电池安全管理课件
- 蓄电池基本知识课件
- 2025年山东省青岛市中考化学试题(含答案)
- 2025年人教版八年级英语上册各单元词汇知识点和语法讲解与练习(有答案详解)
- 2025奇台县公安局招聘警务辅助人员(144人)考试参考题库附答案解析
- 中级政工考试题库及答案
- 助老员督导培训课件
- 医疗公司加盟管理办法
- 2025年浙江省中考道德与法治试题答案详解讲评(课件)
- 广州南沙深化面向世界的粤港澳全面合作白皮书(2022.06-2025.06)
- 2025年全国保密教育线上培训考试测试卷必考附答案详解
- 2025年陕西教师编制招聘考试笔试试题(含答案)
- 2025年高考英语新课标Ⅱ卷点评及2026备考方向 课件
- 待岗返岗管理办法
- 深企投产业研究院:2025第三代半导体产业链研究报告
评论
0/150
提交评论