JSP动态网页基础教程 教学课件 ppt 作者 张晓蕾 第4章 JSP语法进阶

上传人:E**** 文档编号:89370142 上传时间:2019-05-24 格式:PPT 页数:87 大小:170.50KB
返回 下载 相关 举报
JSP动态网页基础教程 教学课件 ppt 作者  张晓蕾 第4章  JSP语法进阶_第1页
第1页 / 共87页
JSP动态网页基础教程 教学课件 ppt 作者  张晓蕾 第4章  JSP语法进阶_第2页
第2页 / 共87页
JSP动态网页基础教程 教学课件 ppt 作者  张晓蕾 第4章  JSP语法进阶_第3页
第3页 / 共87页
JSP动态网页基础教程 教学课件 ppt 作者  张晓蕾 第4章  JSP语法进阶_第4页
第4页 / 共87页
JSP动态网页基础教程 教学课件 ppt 作者  张晓蕾 第4章  JSP语法进阶_第5页
第5页 / 共87页
点击查看更多>>
资源描述

《JSP动态网页基础教程 教学课件 ppt 作者 张晓蕾 第4章 JSP语法进阶》由会员分享,可在线阅读,更多相关《JSP动态网页基础教程 教学课件 ppt 作者 张晓蕾 第4章 JSP语法进阶(87页珍藏版)》请在金锄头文库上搜索。

1、第4章 JSP语法进阶,4.1 【案例7】文件包含,4.1.1 JSP指令元素 指令元素作用于JSP引擎所生成的Servlet结构,提供网页的全局信息。例如,可以通过指令元素设置JSP文件和最终输出的客户端文件字符集的类型、表明想要引入的包和类、错误处理、是否是session的一部分等。指令元素的一般形式如下: ,其中,directive是指令名称,attr是指令的属性,属性可以有多个,value是属性的取值。指令元素可以不带属性,或只带部分属性,所以方括号中的属性部分是可选的。,JSP中的指令有page、include和taglib,其中page指令描述与页面相关的指示信息,include指

2、令用于包含文件,taglib指令用于指示JSP页面所使用的标记库。标记库的具体用法属于JSP比较复杂的内容,本书中就不讨论了。,1page指令,page指令定义JSP文件中的全局属性,描述与页面相关的指示信息。在一个JSP页面中,page指令可以出现多次,但是除import外,每一种属性却只能出现一次,后面重复出现的属性设置将覆盖掉先前的设置。几乎在所有JSP页面顶部都会看到page指令,虽然这不是必须的。,page指令可以指定到何处去查找起支持作用的Java类或包。例如: page指令也可以在出现Java运行错误时,指示将用户导向何处。例如: ,page指令的一般语法格式如下: % page

3、 language=“java“ extends=“package.class“ import=“package.class | package.*, .“ session=“true | false“ , buffer=“none | 8kb | sizekb“ autoFlush=“true | false“ isThreadSafe=“true | false“ info=“text“ errorPage=“relativeURL“ contentType=“mimeType ;charset=characterSet “ | “text/html ; charset=ISO-8859-

4、1“ isErrorPage=“true | false“ %,下面对page指令中可能包含的各个属性进行详细说明。 (1)language language属性告诉服务器在文件中将采用哪种语言作为脚本语言,默认为Java。,(2)extends extends属性定义了由JSP页面产生的servlet的父类。一般来说,这个属性不会用到,只有需要实现一些特殊功能时,使用它会比较方便。建议初学者先不去使用它。,(3)import import属性的值是一系列用逗号分开的列表,指明想要引入的包和类。例如: 可以在程序中引入多个需要的包和类,包和类之间用逗号分隔。例如: ,也可以将需要引入的多个包和

5、类写在多个page指令中。例如: 这两行语句与上面的一行语句等价。 当使用import引入了包和类后,就可以使用与这些包和类相关的方法和对象了。,注意 java.lang.*、javax.servlet.*、javax.servlet.jsp.*和javax.servlet.http.*包已经作为缺省值被JSP引入,所以不需要在网页中再次引入。,(4)session session属性表示当前页面是否加入会话期间的管理,其缺省值为true,表明内建对象session存在(如果没有session对象,则会新建一个),由session来管理会话。如果设session属性值为false,则内建对象s

6、ession不存在,这样页面中任何使用到session的语句都会产生编译错误。,(5)buffer buffer决定输出流(out对象)是否需要缓冲区,缺省值是8KB,也可以设置为none(没有缓冲区)或所指定大小的缓冲区,例如: 上面的语句指定输出流缓冲区为12KB。 buffer属性通常与autoFlush属性一起使用。,(6)autoFlush autoFlash属性用于指定是否自动刷新输出缓冲,如果设成true,则当输出缓冲区满的时候,自动刷新缓冲区而不是抛出一个异常,缺省值为true。 注意 同时设置autoFlush为false和buffer为none是不合法的,编译时将会出错。,

7、(7)isThreadSafe isThreadSafe属性指示JSP引擎,网页在处理对象存取时是否要引入ThreadSafe(线程保护)机制,缺省值为true,此时,如果多个客户向JSP引擎发送请求,就可以同时被处理。这时JSP程序员要处理同步时的共享状态,以保证同步确实是安全的。如果isThreadSafe被设成false,则采用单线程模式控制客户端访问该页面。,(8)info info属性用于设置页面的说明信息文字,可以通过页面的Servlet.getServletInfo( )方法访问该信息。例如: ,(9)ErrorPage ErrorPage属性用于指示一个JSP文件的相对路径,以

8、便在页面出错时,转到这个JSP文件来进行处理。与此相适应,需要将这个JSP文件的isErrorPage属性设为true。 当ErrorPage属性被设置后,JSP网页中的异常仍然会产生,只不过此时捕捉到的异常将不由当前网页进行处理,而是由 ErrorPage属性所指定的网页去进行处理。,(10)isErrorPage isErrorPage属性指示一个页面是否为错误处理页面。设置为true时,在这个JSP页面中的内建对象exception将被定义,其值将被设定为呼叫此页面的JSP页面的错误对象,以处理该页面所产生的错误。 isErrorPage属性缺省值为false,此时将不能使用内建对象ex

9、ception来处理异常,否则将产生编译错误。,(11)ContentType ContentType属性用于设置JSP文件和最终文件的MIME类型和字符集的类型。这一项必须在文件的顶部、任何一个其他字符在文件中出现之前。可用的MIME类型有text/plain、text/html、text/html和image/gif、image/jpeg等。ContentType属性缺省值为“text/html;charset = ISO8859_1”。,例如: 上面语句设置MIME类型为text/html,网页所用字符集为简体中文(国标码gb2312)。 在JSP中,客户端和服务器端的中文显示需要使用字

10、符集gb2312,而HTTP传输编码用ISO8859_1字符集。,最后需要指出的是,page指令作用于整个JSP页面,包括静态的包含文件在内。但page指令不能作用于动态的包含文件,比如所包含的文件。 无论把page指令放在JSP的文件的哪个地方,它的作用范围都是整个JSP页面。不过,为了JSP程序的可读性,以及养成好的编程习惯,最好还是把它放在JSP文件的顶部。,2include指令,include指令的作用是包含另一个文件,其语法相当简单,使用格式如下: 在这个指令中应该使用JSP的相对路径。被include指令所包含的文件必须符合JSP语法,可以是静态的HTML文件、脚本元素、指令元素和

11、动作元素。在将网页编译为Servlet时,JSP引擎将对所包含的文件进行语法分析。,如果包含的是JSP文件,那么就会执行这个被包含的JSP文件中的代码。如果只是用include指令来包含一个静态文件,那么这个包含的文件所执行的结果将会插入到JSP文件中include指令所在的位置。一旦执行完了包含文件,那么主JSP文件的过程将会恢复,继续执行下一行。,被包含的文件可以是HTML文件、JSP文件、文本文件,或者只是一段Java代码,但是需要注意在这个包含文件中不能使用、或标记,因为这将会影响在原JSP文件中同样的标记,有时会导致错误。,include指令包含的文件的路径名一般来说是指相对路径,不

12、需要什么端口、协议和域名。如果这个路径以“/”开头,那么这个路径主要是参照相对于包含这个JSP文件的Web应用程序的根目录,如果路径是以文件名或目录名开头,那么这个路径就是正在使用的JSP文件的当前路径。,4.2 【案例8】个人信息调查表,4.2.1 JSP的内置对象简介 JSP有九种内置对象:request、response、out、pageContext、session、application、config、page和exception。下面对它们进行简单介绍。,(1)request request包含了来自浏览器请求的相关信息,并且提供了获取Cookie、header和请求相关的参数值等

13、数据的有效方法。 request对象封装了用户提交的信息,通过调用该对象相应的方法可以获取用户提交的信息。,(2)response response主要将JSP处理后的结果传回到客户端(如Cookie、header信息等),它提供了将数据送回浏览器的方法。 (3)out out对象用于向浏览器回送输出结果。,(4)pageContext pageContext对象存储当前JSP页面相关信息,如属性、内建对象等。 (5)session session对象用于存储每一个用户的状态信息,以便跟踪用户的会话状态,直到客户端与服务器断开连接为止,可用来识别每个用户。,(6)application app

14、licaton负责提供应用程序在服务器中运行的全局信息,当应用程序在服务器中启动时该对象就一直存在,直到服务器关闭为止,所有客户共享这个内置的application对象。applicaton可用来在所有用户间共享信息,并可以在Web应用程序运行期间持久地保持数据。,(7)config config对象用于配置处理JSP程序的Servlet实例的初始化参数,它只有在JSP页面范围内是合法的。,(8)page page表示从JSP页面产生的一个Servlet实例,实质上page对象代表JSP对象本身,或者说代表编译后的Servlet对象。,(9)exception exception是存储异常的对

15、象,只有在JSP页面的page指令中指定isErrorPage属性为true后,才可以在页面中使用exception对象。 初步了解了JSP内置对象的用途后,下面将对常用的内置对象进行详细学习。,4.2.2 request对象与信息的传递,1理解用户请求信息 2获取路径和协议信息 (1)String getProtocol( ) (2)String getScheme( ) (3)String getPathInfo( ),(4)String getContextPath( ) (5)String getRequestURI( ) (6)String getServletPath( ) (7)

16、String getRealPath(String path),3获取主机和端口信息,(1)String getServerName( ) (2)int getServerPort( ) (3)String getLocalName( ) (4)String getLocalAddr( ),(5)int getLocalPort( ) (6)String getRemoteAddr( ) (7)String getRemoteHost( ) (8)int getRemotePort( ),4获取查询字符串信息,(1)获取查询字符串 (2)获取查询字符串中的变量值 getParameter( ) getParameterValues( ) getParameterNames( ),5其他常用方法,(1)String getCharacterEncoding( ) (2)void setCharacterEncoding(String name) (3)Cook

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

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

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