资源描述:
《《JSP服务器对象》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章JSP服务器对象授课教师:朱晓军TEL:1390351884813303518848OICQ:56292810邮箱:zhuxiaojun@tyut.edu.cn太原理工大学计算机学院JSP提供多种服务器对象,包括Response、Request、Session、Application、Out、Config、PageContext和Exception,可以在JSP页面中直接使用它们,而不需要显示地声明,也不需要编写代码去创建它们的实例,这给编写程序带来了很大的方便。操纵服务器对象的脚本在服务器端被执行,服务器端执行的脚本用“<%
2、%>”括起,包含服务器端执行的脚本文件的扩展名为“.jsp”。而客户端直接解释执行的文件为“.htm”。在介绍服务器对象前先介绍JSP的编译命令。4.1JSP的编译命令JSP编译指令是给JSP引擎提供编译器指令信息的,它们的作用是设置JSP程序和由该JSP程序编译所生成的Servlet程序的属性。语法格式:<%@指令指令的属性="属性值"%>例如:<%@directiveattribule="value"%><%@directiveattribule1="value1"attribule2="value2"…attribuleN="
3、valueN"%>4.1.1include编译命令JSP语法中的include指令语句指示在JSP语句被解释的过程中包含一个静态文件,同时解析这个被包含文件中的JSP语句。在一个JSP页面中可以出现的include指令没有数量限制,include指令也可以被嵌套使用,而且在嵌套上也无限制。但是。要注意的是所有页面必须使用跟起始页面相同的脚本语言。基本语法:<%@includefile="relativeURL"%>其中,“relativeURL”指示被包含的文件的相对存储位置的URL地址。另外,还要说明几点:(1)在JSP编译时插入
4、一个包含文本或代码的文件,包括JSP文件、HTML文件和文本文件,或者只是一段Java代码。(2)包含文件的路径名一般来说是相对路径,不需要什么端口、协议和域名。例如:“error.jsp”、“/templates/onlinestore.html”、“/beans/calendar.jsp”等。(3)包含文件中不能使用,,
,标记,因为这将影响在原JSP文件中同样的标记而导致错误。4.1.2page编译命令page指令的语法规则为:<%@page[language="java"][
5、extends="package.class"][import="{package.class
6、package.*},…"][session="true
7、false"][buffer="none
8、8kb
9、sizekb"][autoFlush="true
10、false"][isThreadSafe="true
11、false"][info="text"][errorPage="relativeURL"][contentType="mimeType[;charset=characterSet]"
12、"text/html;charset=ISO-
13、8859-1"][isErrorPage="true
14、false"]%>可以看出,page指令包含了多个“属性—数值”对,而且每条page指令可以包含其中的一个或者若干条内容。下面将逐一介绍这些属性的意义。language="java":声明在JSP页面中使用脚本语言的种类,默认为“Java”。Extends="package.class":指明生成的Servlet的父类,但是必须慎重使用,默认HttpJspBase。import="{package.class
15、package.*},…":需要导入的Java类或包的列表。默认导入的
16、Java类包含java.lang.*、java.servlet.*、javax.servlet.jsp和javax.servlet.http.*。其他任何将要使用的类都必须用import属性包含进来。session="true
17、false":设定是否JSP文件中需要使用HTTPSession,默认值为true。buffer="none
18、8kb
19、sizekb":指明该JSP程序中out内置对象的缓冲区buffer的大小。默认值因服务器而异,但通常为8kb。如果设置了这一属性,则缓冲大小不会小于设置的数值。autoFlush="true
20、
21、false":设置如果buffer溢出,是否需要强制输出,默认值为true。isThreadSafe="true
22、false":设置文件生成的Servlet是否能多线程使用。如果属性为真,则JSP可以同时处理多个请求;如果为假,则一