版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Version 3.0第十章第十章 Servlet 体系结构体系结构 请求和响应请求和响应 会话和环境会话和环境 JSP简介简介 JSP注释注释 JSP指令指令 JSP脚本元素脚本元素 JSP 是是 Sun Microsystems 公司的一种规范公司的一种规范. 它将它将 Java 与与 HTML 相结合相结合 显示与处理分离显示与处理分离 JSP 可结合其他可结合其他Java 组件一起使用组件一起使用 JSP 是使用是使用Java 开发基于开发基于 Web 的应用程序的应用程序不可或缺的部分不可或缺的部分 典型的典型的web应用组成:应用组成:applet, JSP, Servlet, J
2、avabean, HTML,XML,EJB,容器容器 JSP的执行的执行My name is jb-aptech!String str = “My name is java”;out.println(str);JSP把静态内容和代码分离标记Servlet第一个请求产生应答被转换为以后的请求转换后的servlet JSP文件javax.servlet.jsp.JspPage JspInit()方法 JspDestroy()方法 JspService()方法 实现Servlet接口 init()方法 destroy()方法 service()方法 相似见图:见图:p136举例:举例:example
3、1_1.jsp JSP的优点的优点 “编写一次,随处运行” 高品质工具支持 组件和标记库的重用 动态内容与静态内容的分离 对脚本和动作的支持 多层企业应用程序体系结构的 Web 访问层 表示与实现的分离 将文档字符串添加到将文档字符串添加到 JSP 页面页面 类型:类型: HTML 注释 隐藏注释 脚本注释 HTML 注释注释 类似于在 HTML 中使用的那些注释 可在其中包括动态内容 浏览器察看原文件可看到 隐藏注释隐藏注释 只能通过查看原始 JSP 文件查看 JSP 容器忽略此注释的主体 脚本注释脚本注释 java脚本中的注释 在servlet中可见 举例:example2_12.jsp
4、JSP标记可分为四种类型标记可分为四种类型 指令:向包容器发送消息,设置全局变量,不产生输出 脚本元素:插入java代码 动作:特殊标记 注释JSP指令:用于设置全局值,是向包容器发送的。并且不向客户端产生输出向操作系统发送配置命令向操作系统发送配置命令JSP指令WEB包容包容器器发送相似脚本元素:可以在JSP页面中插入Java代码。 动作:包容器遇到“动作标记”再执行“动作”。 JSP区分大小写指令和脚本元素所拥有的语法不是基于 XML的,但也可以获得一种可以替代的基于 XML的语法。比如指令:的等价的XML语法为:在标记中出现的属性值总是用引号括起来的:使用单引号或双引号。如果引号是属性值
5、本身的一部分的话,就可以使用特殊的字符串'和"(就像在HTML中一样)。 在标记中可以使用字符在标记中可以使用字符 (反斜杠反斜杠)来作为换码字符来作为换码字符(例如,要使用例如,要使用 %,就要使用,就要使用 %字符序列字符序列)。 JSP使用的使用的 URL要遵循要遵循 servlet的惯例,并且以一的惯例,并且以一个个 /开始的开始的 URL叫做上下文相关路径,如果叫做上下文相关路径,如果URL不是以不是以/开始的,就被解释为相对于当前的开始的,就被解释为相对于当前的JSP。 在文档体中的文本中的空白符无关紧要。在文档体中的文本中的空白符无关紧要。 将
6、有关页面的特殊处理信息传送到将有关页面的特殊处理信息传送到JSP容器容器 一个指令影响整个一个指令影响整个JSP文件文件 。指令以指令以 终止终止 。 类型:类型: include 指令 page 指令 taglib 指令 include 指令指令 使页面作者能将一个文件的内容包括在另一个文件中 语法: 注意:。出现在一个 JSP 页面中的 include 指令的数量不受限制。静态插入,即内联方式(可看servlet),与include动作的区别。必须为localURL。服务器可自动识别更新。注意合并后的语法 Include directive test page Include direct
7、ive test page © 2002 JB-Aptech Press copyright.html:嵌入嵌入 include指令的语法为: 再举例:includirective.jsp, example2_15.jsp中嵌入computer.jsp page 指令指令 page 指令将页面特定的信息传递给 JSP 引擎 语法: 或或 page指令用来定义和操作许多重要的依赖指令用来定义和操作许多重要的依赖于页面的属性,这些属性影响整个于页面的属性,这些属性影响整个JSP文文件(整个编译后的类文件)件(整个编译后的类文件) 在在 JSP中的任何地方、以任何顺序,一个中的任何
8、地方、以任何顺序,一个页面可以包含任意数量的页面可以包含任意数量的 page指令。但指令。但是任何的属性是任何的属性/值对只能出现一次值对只能出现一次 。(除除import外外 )()(p140举例)举例) page 属性属性 info language contentType extends import session buffer autoFlush isThreadSafe errorPage isErrorPage属性属性描述描述缺省值缺省值language定义要使用的脚本语言。如果在将来 JSP包容器支持多种语言时可使用它“Java”import定义以逗号分隔的类或包的列表,就像在
9、通常的 Java代码中所使用的import语句那样缺省情况下忽略buffer定义对客户的输出流的缓冲模型。如果值为“none”,则没有缓冲,而是所有的输出都被P r i n t W r i t e r 直 接 写 到ServletResponse中。如果定义了缓冲区的尺寸(如“24kb”),则将输出写到不小于该值的缓冲区中与实现有关;至少为 8KBautoFlush如果值为“true”,则当缓冲区满时,自动把输出缓冲输出给客户如果值为“false”,则当缓冲区满时,会有一个运行时异常“true”isThreadSafe如果值为“true”,则JSP引擎会同时向该页面发送多个客户请求。如果值为“
10、false”,则JSP引擎会对发送给该页面的客户请求进行排队和处理,并且按照请求被收到的顺序,在某个时刻只处理一个请求(库操作)。“true”contentType定义JSP的字符编码方式和JSP页面的应答的MIME类型。它的形式可以为MIMETYPE或“MIMETYPE; charset =CHARSET”。MIMETYPE的缺省值为text/html;CHARSET的缺省值为ISO-8859-1info字符串无缺省extends转换成servlet时指定父类无缺省Extends=“com.lib.myjsp”isErrorPage布尔值,为true,jsp容器会自动产生Exception对
11、象。 falsesession布尔值,本页是否使用布尔值,本页是否使用session对象对象True errorPage本地本地url,本页面异常时的处理页本页面异常时的处理页面面无无 ,errorPage=“/result/err.jsp info属性:,举例:example2_13.jsperrorPage举例:errorpage目录下面的例子演示了page的language、import、contentType、buffer、autoFlush、isThreadSafe属性(p142)examplepage.jsp taglib指令指令 通知 JSP 容器,页面依赖于自定义标记库 标记库
12、是扩展 JSP 的功能的自定义标记的集合 语法: 使开发者能直接将代码嵌入使开发者能直接将代码嵌入 JSP 页面页面 类型:类型: 声明 代码段 表达式 用于定义特定于用于定义特定于 JSP 页面的页面的(servlet)变量和方法变量和方法 在在jsp初始化是完成初始化初始化是完成初始化 等价与静态变量,即一个客户的操作会影响另外等价与静态变量,即一个客户的操作会影响另外客户客户 不会向流中写任何信息不会向流中写任何信息 可被该可被该jsp页面中其他任何部分使用页面中其他任何部分使用 语法:语法: 声明的类型:声明的类型: 变量声明 方法声明 声明是JSP中的Java代码块,它用来在所产生的
13、 servlet中定义类范围的变量和方法。产生的servlet实例化时执行代码块。声明代码块包含在中,并且它不会向输入流中写入任何的内容。 变量声明变量声明 定义为声明的变量成了 JSP 页面被转换和编译到的 servlet 类的实例变量,可共享 语法:举例:example2_2.jsp(简单计数器) example2_3.jsp(改进,同步) 方法声明方法声明 定义的方法将编译成的 Servlet 类的方法 可以由页面上所有脚本元素访问举例: declareation.jsp ,example2_4.jsp(声明方法) example2_5.jsp(改进,写文件) example2_6.js
14、p(共同计算pi) 方法类方法类 定义的方法将编译成的 Servlet 类的类 可以由页面上所有脚本元素创建该类对象举例:example2_7.jsp(声明类) 包含一个或多个有效而完整的语句包含一个或多个有效而完整的语句 语法:语法: 或或 / 这里是这里是 Java 代码代码 是在请求处理期间要执行的 Java代码块,可以包含向客户产生输出。 Scriptlet test page % for(int i=0;i 10;i+) out.println(Hello World. This is a scriptlet test + i + ); System.out.println(This goes to the System.out stream + i); % 举例:scriplet.jsp, example2_8.jsp等同于example2_9.jsp 包含任何语言表达式包含任何语言表达式 语法:语法: 或或 在请求处理阶段计算值,将结果转成在请求处理阶段计算值,将结果转成String并输出并输出 不以分号结束不以分号结束 用于输出单个变量或某个计算的结果用于输出单个变量或某个计算的结果 在标记中包含表达式。 在JSP中out.print(“number” + i);在servlet中相当于假
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林水利电力职业学院《计算机课程与教学论实践》2023-2024学年第一学期期末试卷
- 吉林师范大学《DSP应用技术》2023-2024学年第一学期期末试卷
- 2024年度南昌市标准化房屋租赁合同办理及交付流程规范2篇
- 2024搬家公司合同范本大全:搬家服务合同中的客户权益保护条款3篇
- 2024年度投资合作与商务拓展合同3篇
- 2024年度赞助合同:甲方作为赞助商赞助乙方举办的体育赛事包括资金、物资支持等3篇
- 2024年度责任险单质押企业风险控制贷款协议3篇
- 2024年度健身私人教练绩效评估合同3篇
- 2024年度合伙人退出项目合同3篇
- 2024年度洗衣房环保处理设施租赁合同3篇
- 宜家家居消费群体分析报告
- 生产部长述职报告
- 七年级地理上册第三章《天气与气候》测试题-人教版(含答案)
- 人工智能如何改变我们的生活
- 2023年CNC程序工程师年度总结及下一年计划
- 数字媒体技术专业大学生职业生涯规划书
- 一年级数学重叠问题练习题
- 西师版数学一年级上册全套单元试卷
- 无人生还-读书分享
- DB23T 2327-2019 透水混凝土铰接块护坡应用技术规范
- 供应商变更申请表
评论
0/150
提交评论