T03 JSP基础.ppt_第1页
T03 JSP基础.ppt_第2页
T03 JSP基础.ppt_第3页
T03 JSP基础.ppt_第4页
T03 JSP基础.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、JSP 语法,回顾,GenericServlet与HttpServlet的有什么区别? Servlet中的doGet()方法的有什么作用? 在运行Servlet之前容器会加截哪个配置文件? 在请求提交时请求通过哪个入口标签找到相应的Servlet实现类? Servlet在生命周期中,由哪三个方法来实现?,主要内容,理解 1、JSP基本语法 和转义字符使用 2、JSP脚本元素 3、JSP指令元素 4、JSP动作元素 掌握 ,体验项目 -星期天学习计划,本章程序实现的功能:编写一个学习计划页面,用于查询一天中相应时间段的学习计划,当点击相应时间段链接时,在页面下方将出现相应的学习计划。 程序运行过

2、程如下: 启动服务器,进入程序的主页面,如图所示: 当点击“8:3010:30”链接时,将显示相应时间段的计划内容。如图所示:,JSP基本语法,JSP网页由两部分组成 Template Date:固定模板数据 Elements:元素数据 Template Date: JSP容器不处理的部分,如HTML的内容,直接送到客户端执行。 Elements:必须经由JSP容器处理的,而大部分都以XML作为语法基础,且大小写必须一致。,Elements有两种表达方式: 带内容的标签 起始标签(元素名称、属性),中间为内容,最后为结束标签 包含的其他内容 空内容标签 标签只有元素的名称、属性称为空标签。 E

3、lements分为四类: Directive Elements: 命令元素 提供JSP网页的相关信息和属性。语法格式一般为 Scripting Elements :java小程序片段, Action Elements :动作元素 EL Elements : 表达式语言,JSP基本语法,JSP执行过程,例子:Login.html, Login.jsp ,welcom to jsp! ,JSP基本语法,page指令元素,表达式,JSP中的批注,客户端可见的 - 程序员专用的,客户端不可见的 ,JSP中的转义规则,为了避免显示内容和HTML标签产生语法混淆,部分标签在当内容显示的时候要修改: 斜线

4、- - % 单引号 - 双引号” - ” $ - $ 直接使用这些标签的时候会出现异常。,例子Quoting1,脚本元素,Jsp脚本元素: 用来在jsp中包含脚本代码,以结束。 其中包含java 代码,如变量或方法声明,表达式求值 脚本元素分为三类: 声明元素: 表达式元素 Scriptlets ,声明元素,声明Declarations 可一次声明多个变量或方法 编译后最终转换成servlet代码 变量和方法只在当前一个页面有效 变量为页面级的全局变量,若有N个请求执行该JSP页面,将启动多个线程共享此变量。建议改用 ,表达式元素,格式 要点 Expression的值必须能转换成字符串,否则异

5、常 在expression中不能用;作为其结束符号 Expression能否包含任何java语法 复杂表达式中的计算顺序是从左到右 ,例子:Expression.jsp,Scriptlets - java小程序片段,Scriptlet能够包含多个语句,变量,表达式; 注意: 可使用声明中定义的变量和方法 包含的小程序片段必须符合java语法规范 可以使用JSP中包含的隐含对象 可使用表达式或声明过的对象 若有注释其方法和java中的注释方法一样。,例子:Calendar.jsp,JSP指令元素,指令 主要用来提供整个JSP网页相关的信息,并且用来设定JSP网页的相关属性,例如:网页的编码方法、

6、语法、信息等等 起始符号为: 内文部分为一些指令和一连串的属性设定: 包含三种指令: page: 页面属性指令 include:包含指令 taglib: 自定义标签指令,指令元素 page指令,Page指令:设定整个JSP网页的属性和相关功能。 Attribute可选值: Import =“ ” 指明该JSP可以使用那些JAVA API session=“true/false” 指明该JSP是否可以用session对象 pageEncoding=“ ” 指明该JSP网页的编码方式 contentType =“ ” 表示MIME类型和JSP的编码方式 buffer=”none/size kb”

7、设置缓冲区,默认8KB autoFlush=“true/false” 是否自动清楚缓冲 Langugae=“ ” 指明小脚本片断使用的语言 c,c+,per.默认java Extends =“ ” 指明生成的servlet继承那个父类 errorPage=“ ” 异常后的重定向UTL , 注意点: 1、导入多个包的时候可以分开写,也可以用,隔离 2、初import属性外,其他属性只能设置一次 3、 不能分开写成 ,例子 pageD.sjp,Big5.jsp,指令元素 page指令,Include指令:在JSP编译时插入一个包含文本或代码的文件,这个包含过程是静态的。 包含的文件类型:jsp,h

8、tml,文本,java程序段。 relativeURLspec值不能是变量URL。 ” % relativeURLspec后不能加任何参数。 relativeURLspec所指的路径必须是相对于此JSP的网页的路径。 文件中要避免有,指令元素 include指令,例子IncludeD,Taglib指令:新指令,让用户自定义新的标签。 例子: . Struts 或 jstl 中定义的新标签,如要在JSP中使用,就的先声明,指令元素 taglib 指令,例子TaglibD,动作控制标签用于执行一些标准的JSP网页动作,例如:转向,使用javabean等。 动作指令必须通过 JSP引擎来实现。 动作

9、指令以xml语法为基础,严格区分大小写。,动作指令,动作指令, ,Include操作,元素允许你包含动态和静态文件。 指令能自行判断被包含的文件是动态还是静态文件。 若是静态文件,内容直接加到JSP网页中 若是动态文件,被包含的文件也会被JSP引擎编译执行。 语法格式: ” flush=“true | false” / 或 ” flush=“true | false” ”/ * Page:代表一个路径,可是直接路径,也可是一个表达式运算出来的路径值 Flush:是否自动清楚缓冲区,默认为 false; jsp:param:为该页面可能需要的初始化参数值。, 例子:include.jsp Inc

10、ludeParam.jsp,Include操作,两者区别总结, 与的区别总结 动态包含使用 标签来实现 它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 动态包含可以给被包含的页面传递参数 静态包含使用include伪码实现 不会检查所含文件的变化,适用于包含静态页面 静态包含不能给被包含的页面传递参数,Forward操作,操作将客户端所发出的请求从当前页面转交到另一个HTML或JSP页面。 标签之后的程序将不会在执行。 语法格式: ” / 或 ” ”/* page :可以是一个相对路径,即你所要重新导向的网爷位置,或是表达式能运算出来的相对路径 param中传递的参数值所

11、表达的文件必须也是一个能够得到这些请求参数的动态文件,如:.jsp , .cgi, 。php, .asp等, ,Forward操作,例子:forward.jsp,Param标签,用来提供key/value值,常与和一起使用。 当与和一起用时,被包含的网页或转向后的网页会先看看request对象里面除原来的参数值之外,是否有新的参数值,如果有,则新参数值在执行时有较高的优先权。,包含,Plugin操作,用于在浏览器中播放或显示一个对象(通常为Applet或Bean)。 会根据具体情况将该标签转换成或标签,并指定其具体的类名和位置,或是指定是从那里下载的java组件。, ,Plugin操作,例子:

12、Plugin.jsp,错误处理,通常JSP在执行时,在两个阶段下会发生错误 Jsp网页 Servlet类 Translation Time Processing Errors 编译时期处理错误 Servlet类处理每一个请求时 Client Request Time Processing Errors 客户端请求时期处理错误,编译时期处理错误,产生错误的原因: 撰写JSP时的语法有错误,导致JSP引擎无法将JSP网页编译成Servlet类文件(.class)。 例如:500Internal Server Error:500是指HTTP的错误状态吗,即servlet error. JSP引擎在启

13、动时的Bug。 排错方法: 检查你的JSP页面是否符合JSP或JAVA语法。 重新启动tomcat或查看web.xml配置信息。,客户端请求时期处理错误,产生错误的原因: 非语法错误,可能是逻辑上的错误。 例如:分母为0的异常,异常处理机制抛出该异常。 这类错误的处理我们交给errorPage去处理。 产生错误的页面设置: 进行错误处理的页面设置: ,例子:ErrorPage.jsp Error.jsp,体验项目 -星期天学习计划,实践项目的要求如下: 编写一个住页面,用于包含各时间段部分页面 编写一个被包含的页面,用于显示具体工作计划,本讲总结,以下代码是否正确?如果不正确如何改正 Taglib指令里面中的prefix属性有什么作用? 与有什么区别?两种指定怎样在页面之间传递参

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论