第4章JSP语法公开课一等奖市优质课赛课获奖课件_第1页
第4章JSP语法公开课一等奖市优质课赛课获奖课件_第2页
第4章JSP语法公开课一等奖市优质课赛课获奖课件_第3页
第4章JSP语法公开课一等奖市优质课赛课获奖课件_第4页
第4章JSP语法公开课一等奖市优质课赛课获奖课件_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

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

文档简介

第4章JSP语法

编程1主要内容1.JSP页面的构成

2.注释3.指令4.脚本元素5.动作元素6.错误处理21.JSP页面的构成3<%@pagecontentType="text/html;charset=GB2312"language="java"errorPage=""%><html><head><title>显示当前时间</title></head><%! StringgetDate(){ //返回当前时间

Stringstr; str=newjava.util.Date().toString(); returnstr; }%><bodybgcolor="#ffffff"><divalign="center"><!--使用表达式--><fontcolor="#000000"size="5">当前时间是:<%=getDate()%></font></div></body></html>42.注释2.1HTML注释静态HTML注释动态HTML注释

HTML注释主要是用于在客户端动态地显示一个注释,格式如下: <!--comment[<%=expression%>]-->52.2JSP隐藏注释

JSP隐藏注释在JSP源代码中,它不会被JSP引擎处理,也不会在客户端的Web浏览器上显示,格式如下: <%--comment--%>

63.指令 在JSP中,指令(Directive)主要用来与JSP引擎进行沟通,并为JSP页面设置全局变量、声明类以及JSP要实现的方法和输出内容的类型等。需要注意的是,指令元素在JSP整个页面范围内有效,并且它不在客户端产生任何输出。使用指令的格式如下: <%@directivenameattribute="value"%> 同时,一个指令可以声明多个属性,如下所示: <%@directivenameatttibute1="value1",……, atttibuteN="valueN"%>7JSP语法规范定义了以下3种不同的指令。page指令:定义与JSP页面相关的属性,并和JSP引擎进行通信。include指令:定义JSP编译时需要插入的资源。taglib指令:定义JSP页面可以调用的一个客户标记库。83.1page指令 page指令主要用来定义整个JSP页面的属性和相关功能,并由该指令和JSP引擎进行通信。一个JSP页面可以包含多个page指令,指令之间是相互独立的,并且指令中除import属性之外的每个属性只能定义一次,否则在JSP页面的编译过程中将出现错误。 page指令可以运用于整个JSP文件,一般来说,page指令可以放在JSP页面的任何位置,但为了便于程序的阅读和格式规范,通常将page指令放在JSP页面的开始部分。 page指令的格式为: <%pageattribute1="value1",……, atttibuteN="valueN"%>9page指令的详细格式如下:<%@page[language="scriptingLanguage"][extends="className"][import="importList"][session="true|false"][buffer="none|sizekb"][autoFlush="true|false"][isThreadSafe="true|false"][info="info_text"][errorPage="error_url"][isErrorPage="true|false"][contentType="ctinfo"][pageEncoding="peinfo"][isELIgnored="true|false"]103.2include指令 include指令用来指定JSP文件被编译时需要插入的资源,这个资源可以是文本、代码、HTML文件或JSP文件。该指令的格式如下: <%@includefile="relativeURL"%> 其中,relativeURL表示要包含的文件路径。如果路径以“/”开头,则表示该路径是参照JSP应用的上下关系路径,如果路径直接以目录名或文件名开头,则表示该路径是正在使用的JSP文件的当前路径。一旦JSP文件完成编译,该资源内容就不可变,要改变该资源内容,必须重新编译JSP文件。11 利用include指令,可以将一个复杂的JSP页面分为若干个部分,这样可以方便管理JSP页面。一个JSP页面一般可以分为三段:head(页头)、body(页体)和tail(页尾)。 可以将一个JSP页面分为3个不同的JSP页面:head.jsp、body.jsp和tail.jsp,其中head.jsp表示页头,body.jsp表示页体,tail.jsp表示页尾,这样对于同一网站的不同JSP页面,可以直接利用include指令调用head.jsp和tail.jsp,仅body.jsp不同123.3taglib指令 taglib指令是页面使用者用来自定义标签。可以把一些需要重复显示的内容自定义成为一个标签,以增加代码的重用程度,并使页面易于维护。 随着JSP语言规范的升级,标签库不断得到加强,它在页面中的定义如下:<%@tagliburi="taglibURI"prefix="tagPrefix"%> 其中,uri用来表示标签描述符,也就是提供怎么知道标签描述文件和标签库的路径,tagPrefix定义了JSP页面里要引用该标签时的前缀,需要注意的是,这些前缀不可以是jsp、jspx、java、javax、sun、servlet和sunw。134.脚本元素 脚本元素(ScriptingElements)是JSP代码中使用最频繁的元素,它是用Java写的脚本代码。所有的脚本元素均是以“<%”标记开始,以“%>”标记结束,它可以分为如下三类:声明表达式Scriptlet144.1声明 在JSP中,声明是用来定义在程序中使用的实体,它是一段Java代码,可以声明变量也可以声明方法,它以“<%!”标记开始,以“%>”标记结束,格式如下: <%!declaration;[declaration;]……%> 每个声明仅在一个JSP页面内有效,如果要想在每个页面中都包含某些声明,可将这些声明包含在一个JSP页面中,然后利用前面介绍的include指令将该页面包含在每个JSP页面中。154.2表达式 表达式(Expression)以“<%=”标记开始,以“%>”标记结尾,中间的内容为Java一个合法的表达式,格式如下: <%=expression%> 其中expression表示Java表达式。 表达式在执行时会被自动转换为字符串,然后显示在JSP页面中164.3Scriptlet Scriptlet是以“<%”标记开始,以“%>”标记结尾的一段Java代码,它可以包含任意合乎Java语法标准的Java代码,格式如下: <% Java代码 %>175.动作元素(ActionElements)

大多数的JSP处理都是通过JSP中的动作元素来完成的,动作元素主要是在请求处理阶段起作用,它能影响输出流和对象的创建、使用、修改等。JSP动作元素是利用XML(ExtensibleMarkupLanguage,可扩展标记语言)语法写成的,JSP2.0规范定义了以下20种标准的动作元素,它们均以“jsp”作为前缀。185.1<jsp:param> <jsp:param>操作提供了“名称──值”信息,通常和<jsp:include>、<jsp:forward>、<jsp:plugin>一起使用,包含的页面或重定向的页面将看到新参数增加的原始request对象。该操作若独立于<jsp:include>、<jsp:forward>、<jsp:plugin>这些操作将没有任何作用。 <jsp:param>操作的格式如下: <jsp:paramname="paramName" value="paramValue"/> 其中paramName表示参数名称,paramValue表示参数值。195.2<jsp:include> <jsp:include>允许在JSP页面中包含静态和动态页面。如果包含的是静态页面,则只是将静态页面的内容加入至JSP页面中,如果包含的是动态页面,则所包含的页面将会被JSP服务器编译执行。 <jsp:include>操作的格式如下: <jsp:includepage="relativeURL| <%=expression%>"flush="true|false"/> page:表示所要包含的文件的相对URL,它可以是一个字符串,也可以是一个JSP表达式。 flush:默认值为false,若该值为true则表示当缓冲区满时,缓冲区将被清空。205.3<jsp:forward> <jsp:forward>操作允许将当前的请求运行转发至另外一个静态的文件、JSP页面或含有与当前页面相同内容的Servlet。 <jsp:forward>的格式如下: <jsp:forward page="relativeURL|<%=expression%>"/>215.4 <jsp:plugin> <jsp:plugin>主要用来在客户端的浏览器中显示一个对象,通常为Applet或Bean。226.错误处理 在编写JSP页面的过程中,无论是初学者还是编程高手都会遇到各种各样的问题,谁也无法保证编写的JSP页面不会出现任何错误。 在JSP页面的处理过程中,在下面两个阶段会发生错误。编译阶段:该阶段将JSP源文件编译为Servlet类文件。处理客户请求阶段:Servlet类在该阶段处理每个客户的请求236.1编译阶段的错误处理 编译阶段发生错误的主要原因是编写的JSP程序有语法错误或JSP容器安装、设置出现错误,导致JSP容器无法将JSP文件编译为Servlet类文件。 要避免在编译阶段发生错误,必须首先正确安装、配置JSP容器,然后检查JSP程序是否存在语法错误。246.2处理客户请求阶段的错误处理 处理客户请求阶段的错误是指JSP编译成功后Servlet类处理客户请求发生的错误,这类错误往往不是语法错误,而是由于逻辑上的错误,例如获取的参数类型不匹配、被零除等错误。当这些错误发生时,JSP程序将抛出异常,由异常处理机制进行处理。 发生这类错误时,通常将错误交由errorPage处理,例如制作一个“error.jsp”页面25习题一、填空题(1)一个JSP页面主要由_________、_________、_________、_________等元素组成。(2)脚本元素分为_________、_________和_________三类。(3)要在客户端的

温馨提示

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

评论

0/150

提交评论