JAVA网络编程复习资料(中北大学).docx.pdf

上传人:tbuqq 文档编号:5616081 上传时间:2020-07-02 格式:PDF 页数:35 大小:319.45KB
返回 下载 相关 举报
JAVA网络编程复习资料(中北大学).docx.pdf_第1页
第1页 / 共35页
JAVA网络编程复习资料(中北大学).docx.pdf_第2页
第2页 / 共35页
JAVA网络编程复习资料(中北大学).docx.pdf_第3页
第3页 / 共35页
JAVA网络编程复习资料(中北大学).docx.pdf_第4页
第4页 / 共35页
JAVA网络编程复习资料(中北大学).docx.pdf_第5页
第5页 / 共35页
点击查看更多>>
资源描述

《JAVA网络编程复习资料(中北大学).docx.pdf》由会员分享,可在线阅读,更多相关《JAVA网络编程复习资料(中北大学).docx.pdf(35页珍藏版)》请在三一文库上搜索。

1、1?动静态网页的概念,常见后缀及基本区別 ?概念 静态网页: 静态网页是指用 HTML 标记语言等來编排,页面中的内容固定不变,存盘后一般以*.htmk *.htm 等文件形式存在的网页。 动态网贝 . : 动态网页:是指网页中的关键内容在服务器端动态牛成的网页。 ?动态网页和静态网页的区别 动态网页会被服务器当作一个程序来执行,网页中静态内容服务器不作任何处理,直接输出 给客户端,动态内容的代码会被服务器识别并执行; 而静态网页则不会被服务器视为程序,网页中的内容不会被服务器运行。 2. Tomcat 服务器的文件夹结构及web应用的文件夹结构 Tomcat 根 tl 录( bin,conf

2、i,lib,work,logs, webappst WebProject( WEB-INF( lib,classes,web.xml) ) 3. JSP指令元素重点在page , JSP脚本代码, JSP动态元素。 ?page指令元素 page指令用于设置当前JSP页面的属性。习惯上把page指令写在 JSP贝而的 头部。 page指令中的屈性大多数只需要在JSP页血中定义一次。 page指令屮允许亜复使用多次的屈性有pageEncoding和 import jg 性等。 page指令的基本 语法格式如下 extends “ import . “ contentiype=“text/html;

3、 charset=gb2312 “ pageEncoding=“default“ v!- 定义当前页面的字符编码标准,默认的字符集为ISO-8859-1,如果页面屮有简体屮文, 则字符集应该定义为GB2312或 GBK- session二“truelfalse 1 v!- 用来指示 JSP页 ifii 的 Servlet实现类中,是否要牛成一个session隐含对象 - buffeinoneldefaultlsizekb“ out对象是 JSP页面的隐含对彖么一,用于向客户端返回信息。 buffer 属性为 out 対象定义输出流缓冲区,则out.write()输出的信息会暂时存储在缓冲 区中

4、,缓冲区被刷新后,其中的信息会通过PrintWriter 对彖传 给客户端。 输出缓冲区能够改善系统的性能。 buffer 属性取值为 none时,表示不设缓冲区,则out 对彖的输出信息会直 接传递 Print Writer o buffer 取值为 nkb 时,表示缓冲区的大小为nKB,默认值为 8KB - autoFlush= ntruelfalse“ v!- 定义 out对象缓冲区的刷新属性。 autoFulsh取值为 true时,表示缓冲区满时口动执行刷新操作默认值为true 取值为 false表示缓冲区满时,抛出一个IOExceplion 异常。 本属性一般和 buffer 属性联

5、用,如果buffer “none“时,则 au(oFlush=Fue “ 无效- isThreadSafe= ntruelfaIseH isThrcadSafc二“iruc ”时,表示 JSP编译后所得的 Servlet程序以多线程方式工作,采用 Servlet多线程方式工作能提高程序的响应速度,减少系统开销。默认值为 trueo 当 isThreadSafe=“false”时,表示 Servlet程序以单线程方式工作。 info= H H 特点:当前 JSP页血的 Servlet实现类中定义有Throwable 类型的 exception 隐含对象, 接收异常页传递过来的异常信息。 isEr

6、rorPage=“false“时,Servlet 程序中不定义exception 隐含对象 - crrorPagc= ,7crror/nunSlring.jsp H JSP页血如果发生了运行时异常,出错原因、出错的类名、出错的行号、出错的方法 名等信息会被封装在异常对彖中。 enorPage属性用于指明: JSP页面发生运行时异常,则把异常对彖传递给指定的出错 页处理, errorPage 的值为出错页的 URL,可川相对路径或绝对路径表达。 此项默认值为空,则运行时异常信息直接显示在浏览器上。 当前 JSP页面出现运行时异常,服务器会把异常对彖传递给nullString.jsp 页而处理。

7、enorPage属性在 JSP页而中只需定义一次,如果定义多次,编译时可能会引发“重 复标记”的语法错误。 - isELIgnored= ,truelfalseu % ?JSP脚本代码 声 明元素 声明元素 V%! % 用于声明类成员变量、成员方法或内部类 1)用声明元素声明类成员变量例如: 2)用声明元素声明成员方法例如: 脚本小程序 脚本小程序就是一段Java 代码在 JSP页面中声明脚本小程序的基本语法格式为: Tomcat把 v% % 标记内的 Java代码段放在 Servlet实现类 _jspService()方法的 try 内,所以在 v%内 定义的变量属于局部变量,并 L 作用范

8、吊 I 仅限于 (ry 内。 如果有多个 v%标记,则按出 现的先后顺序转译到心 内。 表达式元素 1.表达式元素的基本功能是运行一条Java表达式,如果表达式有计算结果,则把结果显示在 表达式位置上 2.表达式元素的标记经过Tomcat翻译后,在 Servlet实现类中一般表示为: out.write(expression); 3.如果表达式复杂,则标记可能被分解成多条连续的out.write()语句。 4?表达式元素的用法例如:V% 二 1+(5/2) % 5. 注意表达式不能带Java语句结束符“; “ ?动态元素 概念:将类似于 vxxx:yyy 的 JSP标记称为 JSP动作。 分类

9、: JSP可分为标准动作和扩展动作。 JSP标准动作:一组形如 “vjsp:xxx”的标记,标记的前缀均为“jsp ”。 标准动作作用:可实现动态插入文件、将用户重定向到另一个页血、动态生成XML 元 索等 4- - 4 4- 勺ERflem ent A4 pjattributo*- 1 a 勺莎 ;do Body“ J/ V M 勺瓯 ;mot* vj.莎d g u arati o FL A 4- 勺飯;textx +-1 动 作 ?概念:动作也称动态包含,它将被包含的文件视为一个独立的文件,在程序运行时包含 目标资源的返回信息。 ?作川:动态包含一个文件相当于在运行时动态调川这个文件。被包

10、含的资源可以是动态的,也可 以是静态的。 ?Eg:j?K * 传递参数用 ?在 标记中, page=“ur1Spec”属性定义了被包含资源的URL,町用相对路径或绝对路径表 达。 ?属性flush= “tnie ”时,表示在包含目标资源前,先刷新当前页血输出缓冲区中的内容。 flush 二“false ”时,包含文件前,不刷新当前页血的输出缓冲区。默认值为falseo 如果要给被包含的 页而传递参数,可以使用vjsp:param标记 ?vjsp:param 动作 主要是为 等动作元素传递参数,如果在其它场合中使用 它,JSP容器会报告翻译错误。 的基本语法为: ? JSP容器能自动识別被包含文

11、件)11的内容哪些是静态,哪些是动态, - 对于静态内容不作处理,直接打印输岀; - 对丁?动态内容,则执行相应的程序代码。 ?值得注意的是: - 如果被包含文件中存在动态内容,则文件名的后缀应该为*.jsp, 如果取其它的文件名后 JavaBean 动作 a Tag Fil已动作 a 动态XML元素 4 JSP Documents 动作 4 缀,JSP容器在调用被包含文件时不执行编译操作,动态内容的代码将被忽略 动作 ?概念: 动作使程序从当前页血跳转到另一个目标页血运行,目标页血以是静态资 源( 如*.htm),也“J 以是一个 JSP页 M(*.jsp), 还“J以是一个 Servlet

12、、 CGI 程序等。 ?注: 会导致当前 JSP页面运行屮断,断点后的代码将无法被继续执行。Eg: * vjsp:plugin 动作 ?主要用来在客户端浏览器中加载运行一个Applet 或 JavaBean, 被加载的 Applet 或 JavaBean nJ 以是单个类文件 *. class, 也町以是一个 *罷包。 在 JSP贝血中使用 动作,服务器将把被加载的文件传送到客八端,山客丿 , 端的 JVM 运行 Applet 或 JavaBean 4.JSP隐含对象的使用重点在request和 resoponse, session 上 Out,request,response,session

13、application,exception,config,page,pageContext request 对象封装了客户端提交的数据信息,包括用户提殳的数据和客户端的一些信息。 一、 用 request 读取客户端传递来的参数 客户端向服务器传递参数最常见的方法: 表单数据 附在 URL 中的查询串 (query string)参数,也就是 URL 44? ” 后面的参数: http:/localhost/exam.jsp?nanie=tomcat 用 request 读取单值参数 读取方法: request对象的 getParameter() 方法读取指定变量名的参数值,方法的形参是参数的

14、 变量名,以 String 形式返回变量的值。 如果 request对象屮没有指定的变量,则返回nulL ? request.ge(Pamme(er( 缺陷:读取表单传来的参数时,参数变吐名是以硬编码形式嵌在代码 中,缺乏灵活性。 getParameterNamesO 能返冋 request对象屮的参数变量名,并保存在枚举类型屮 用 request 读取多值参数 ?多值参数的典型代表是表单复选框,例如在一般网站会员注册信息表单中如果有“爱好”项, 那么用户是可以选定多个爱好的。 ?在服务器端读取多值参数,要用到request.getParameterValues(), 定义:形参为多值参数的变

15、量名,多个参数值返回后存储在一个字符串数组中 setAttribute(java.lang.String name, javaJang.Object o) public java.lang.Object getAttribute(java.lang.String name) 方法返回的对象是Object 类型, - 般要进行 强制类型转换 getRequestDispatcher() - 转发跳转 ?request 转发器 (RequestDispatcher) 的作丿 IJ: 获得 11标资源的转发器,通过转发器将当前Servlet程序的 request和 response 对彖转发给 H

16、标 Servlet资源, 。跳转至 H 标资源上运行程序, 。目标资源再通过request对象读取上一资源传递给它的request属性。 方法能够把当前Servlet程序的 request和 response隐含对象转发给目标资源,并跳转至1=1 标资源 运行代码 public void include(ServletRequest request, Servlet Response response) throws SerdetException,java.io.IOException ?形参是当前 JSP/Servlet程序的 requests response 对象。 ?该方法川于包含目

17、标资源,如果11标资源是 JSP页面,它会被编译成Servlet程序后 再运行。 ?进行包含操作前,允许对当前JSP/Servlet程序的 response输出缓冲区进行刷新。 removeAttributeO ?作用:从 request作用范围中删除指定名字的属性i-cquest.removeA(tribu(c(name); setCharacterEncoding () ?作川:定义 request对象中的 parameter参数的字符编码标准。 ?例如, parameter参数如果有中文,在读取参数前调川此方法,设置参数的编码标准为 GB2312, 可以解决以 POST方式提交参数的中文

18、乱码问题。 getProtocol() 用 request 读取系统信息 返回 request请求使川的协议及版木号 getRemoteAddr() 返回客户端或最后一个客户端代理服务器的IP 地址 getRemoteHostO ?返回客户端主机名或最后一个客户端代理服务器的主机名,如果主机名读取次败,则返回主机 的 IP 地址。 getScheine() ?返回当前 request对彖的构造方案,例如http https和 ftp 等,不同的构造方案有不同的 URL 构 造规则。 getQueryStringO ?返回 URL 的査询字串 , 即 URL 中“? ”后面的“ name=vaI

19、ue ,Xto 例如, 客户端请 求的 URL 为: http:/l 27.0.0.1:8080/untitled.jsp?dd=22 预览后显示 : /untitled.jsp getRealPath () 返回虚拟路径在服务髀上的贞实绝对路径 Eg: C:tomcatwebappsROOTuntitled.jsp 用 request 读取 HTTP 请求报头信息 ?客户端浏览器向服务器请求资源的过程一?般分为三步来完成: 第一步:发出请求。浏览器通过HTTP 协议向服务器提交请求,例如 http:/l 27.0.0.1:8080/exam.jsp 第二步: HTTP 报头信息交换。 。JS

20、P服务器接收到客户端的资源请求后,判断请求是否合法,如果请求有效, 则进行报 头信息交换。 ?客户机用 HTTP 协议向服务器传递的报头信息叫HTTP 请求报头, ?服务器给客户机返回的报头信息叫HTTP 响应报头。 第三步:信息传输 例如把 JSP页而的输出信息从服务器上传冋浏览器,或把客户机上的文件上传到服务器 在 JSP中要读取 HTTP 请求报头中的信息,可以使用getHeaderNamesOW getHeader() 等方法。 LgetHeader() 返回指定的 HTTP 报头信息 2. getHeaderNames() ?返冋 HTTP 报头的名字,名字存储在一个枚举型对象中。

21、用 request 读取 cookie ?Cookie,或称 Cookies,在 Web技术中指 Web 服务器暂存在客户端浏览器内存或硬 盘文件中的少量数据。 ?作川: Web 服务器通过 HTTP 报头来获得客户端中的cookie 信息。 ?Cookie 信息的棊木结构:类似于“ name二 value“对,每个数据有一个变量名。 ?Cookie 信息的有效期: 。有效期短的直接存于IE 浏览器内存中,关闭浏览髀后,这些cookie信息也 就丢失。 。有效期长的信息存储在硬盘文件上。 ?保存位置:所有曾经访问过的网站的cookie 文件保存在 XP 内 “C:Documents and S

22、ettingsadminCookies 文件夹中。 ?在 JSP中使用 cookie 的基本过程为: 在服务器端生成cookie对象,把待保存信息写入cookie对象中; 0 必要时设置 cookie 对象的生命期; 。 把 cookie 对象传给客八端浏览器保存; 。 服务器端程序需要cookie信息时,川代码读取cookie信息。 Cookie 类 ?javax.servlet.http.Cookie类川來牛成一个 cookie 对彖,构造方法: Cookie(javaang.String name, java ang.String value) 第个形参是 cookie数据的变量名,第二

23、个形参是待保存的数据,字符串类型 ?public void setMaxAge(inl expiry) 。 这个方法定义 cookie对象的生命期,形参是生命时间数,单位秒,默认值为-lo 。如果牛命周期为负整数,表示这个cookie对彖是临时的,不耍保存在硬盘文件屮, 关闭 IE 浏览器后 cookie数据自动丢失。 如果生命期为零,表示删除这个cookieo Cookie的生命期定义要在cookie 对象传冋客户端前进行。 public ini gctMaxAgc() 方法读取生命时间 ?public void sctSccurc(boolcan flag) 0 形参取值 tme时,表示用

24、 https或 SSL 安全协议将 cookie传冋服务器; 取false时表示用当前默认的协议传回cookieo ?public java.lang.String getName() 。返回当前 cookie对象的变量名。 ?public java.lang.String getValue() 。 返冋当前 cookie对象的值。 将 cookie 对象传回客户端 ?将 cookie对彖传回客户端,要用到另外一个JSP隐含对彖 response, 用到的方法为 : public void addCookie(Cookie cookie) ?形参是待保存的cookie对彖。例如: Eg: 读取

25、 cookie 对象 ?读取客户端存储的cookie,用 request对彖的 getCookies()7Z法,它的语法为: public Cookie getCookies() 返冋的是一个 cookie对象数组,当前浏览器屮所有 有效的 cookie会通过 HTTP 请求报头返回给服务器,每个数组分量是一个返回的cookie对 彖,女 II 果客户端没有有效的cookie,则返回 null 值。 Response 一、输出缓冲区与响应提交 ?输出缓冲区用于暂存Servlet程序的输出信息 , 减少服务器与玄户端的网络通信次数。 ?传送给客八端的信息称之为响应信息(response), 如果

26、输出缓冲区中的响应信息己经传递给客户 端,称响应是已经提交的(response committed)o ?刷新操作强制把输出缓冲区中的内容传送回客户端。 response对象中和输出缓冲区相关的方法有: 1、public void flushBuffer() throws java.io.IOException 刷新输出缓冲区,把信息传冋客户端。 2、public void setBufferSize(int size) 定义输出缓冲区的大小,单位字节。 3、public boolean isCommitted() 返回缓冲区中的响应信息是否已经捉交。 第1 行:“); : 呱printf开始

27、刷新 ?册 :outflushO; outprin 1 信息是否已经提交?挪 onse.isCotnnMtedO);“ 第9 行: 输出一段信息丄 信息是否已经提交 ? fels珀 开始刷新4 信息是否已经提交 ? truw 二、 HTTP 响应报头设置 ?服务器通过 HTTP 响应报头向客户端浏览器传送通信信息。默认情况下,响应信息是以字符形 式传送。 1、public void setContent r rype(java.lang.String type) 定义返回客户端的信息类熨及编码标准,常用的 仃 一 . 仃 广 仃 仃 一 . 仃 仃 仃 Tz -7J 4 CJ ZO 7 QO

28、第 第 第 第 第 第 第 是“text/h(ml;charset=UTF 曲。设置浏览器的响应方式 JSP : , JSP页面生成 Servlet程序后,在 JspService()A法中产生相应代码: response.setContentType(“text/html; charset=gb2312“); public void setCharacterEncoding(javaJang标记内添加一项部署信息如卜示: 4 04 *J /url=http:/www aa. c om“); * J 三、 用 response实现 JSP页面重定向 ?作用:重定向是JSP中实现程序跳转至H 标

29、资源的方法 Z-o ?慕木思想 : 服务器将目标资源完整的URL 通过 HTTP 响应报头发送给客户端浏览器, 浏览器接收 到 URL 后更新至地址栏中,并将目标资源的URL 提交给服务器。 ?缺点:会有一定网络时延 实现 JSP页面跳转的主要方法有: RequestDispatcher.forward() 转发跳转, response.sendRedirect() 重定向跳转。 ?两种跳转区别: (1)客户端浏览器地址栏变化: 。 重定向是通过客户端亜新发送URL 来实现,会导致浏览器地址更新; 而转发跳转是直接在服务器端切换程序,H 标资源的 URL 不出现在浏览器的地址栏中。 (2)re

30、quest和 response资源共享区别 0 转发能够把当询JSP页而中的 requests response 对象转发给目标资源; 重定向会导致当前 JSP页血的 request response 对象牛命期结束,在H 标资 源屮无法取 得上一个 JSP页面的 request对象; (3)网络时延 。转发跳转直接在服务器端进行,基木上没有网络传输时延, 。重定向有网络传输时延。 如果要实现服务器屮两个Servlet程序间跳转,并H 要使川 request作川范围变量交换数据,应该优先 使用 request 转发跳转。 川重定向实现程序跳转时,如果要求传递数据给廿标资源,一个简单、可行的方法

31、是把数据编码在 URL 查询串中, 例如: http:/127.0.0.1:8080/exam.jsp?name=tom? 用 response实现重定向,调用的方法: ?public void scndRcdircct(java.lang.String localion)lhrows java.io.IOExccption ?形参是 I 标资源的 URL,可以是相对路径或绝对路径。例如: v%response.sendRedirect(“exam202.jsp) % ?Session session是指一个终端川户与后台某交互式系统进行通信的时问间隔。 session通信周期:通常把从登录进

32、入系统到注销退出系统Z 间所经历的时间。 如何把一个操作步中产生的有用信息保存卞来并进行标识后供后续的操作步使用称 Z 为 session 跟踪(Session Tracking) 问题。 一、用 URL 重写实现 session跟踪 ? URL重写(URLRewriting) 就是把 session数据编码成 “name 二 value ”对,当作 URL 的 查询串附在 URL 后,用带有査询串的URL 访问下一个目标资源时,附在URL 查询串中的 session数据自 然被传送给下一页。 【源文件】, 可查看到隐藏表单域的HTML 代码及其取值。 四、session作用范围变量与 ses

33、sion跟踪 ?session隐含对彖由 Web服务器创建,并存储在服务器端,功能强大,实现session 跟踪最直接的 方法。在后续的学习中,提到“session ”时,如果不特别说明,就是指session 刘象。 ?session作用范 I 韦 I 变量也 nL| session属性。 public boolean isNew() ?作川:判断 session对象是新创建的,还是已经存在。 ?返回 true时,表示 session对象是刚创建的,也表示本次客户端发出的请求是本次session通信的 第一次请求。 ?注:不过并不农示客八端浏览器窗口是新打开的。 ?例:在前而我们接触过一个站点

34、计数器,但那个计数存在一个缺陷,即当刷新当前IE 窗口时,计 数器的值会增加,这是不合理的。现在用session.isNew() 来修订这个缺陷,防止刷新窗口时计 数值增加。 原理是: isNew()方法返回 true值时,表示这是一次新的访问,此时允许计数器加1 计数。 则代码修 改如下: 行 行 行 行 行 12 3 4 5 第 第 第 第 第 public void invalidate() ?使当前 session无效, session作用范围变量也会随Z 丢失。 public void setMaxInactiveInterval(int interval) ?形参是一个整数,定义s

35、ession对象的超时时间,单位秒。 ?作用:如果客户端从故后一次请求开始,在连续的interval 秒内一直没有再向服务器发送 HTTP 请求,则服务器认为session超时,将删除木次的session对象。 ?注:如果超时时 I、可为负数,表示永不超时。Tomcat默认的超时时间是30分钟。 public int getMaxInactiveInterval() ?读取当前的 session超时时间,单位秒。 public void setAttribute(java.lang.String nameJava.lang.Object value) public java.lang.Obje

36、ct getAttribute(java.lang.String name) public java.util.Enuineration getAttributeNaines() ?将当前合法的所有session作川范围变量名读到一个枚举型对象屮。 public void removeAttribute(java.lang.String name) ?解除指定名字的数据对象与session的绑定关系,即删除一个指定名字的session属 性。 session 失效 ?session对象是有牛命期的,牛命期结朿,则session对象被删除,与Z 绑定的 session 作用范围变 量也随 Z 丢

37、失。 ?影响 session对象生命期的主要因素有: 用八主动结束 session, 客丿、 端浏览器窗口关闭。 程序调用scssion.invalidatc(),主动结朿session 。 服务器关闭,因为session对象存在服务器内存中,关闭服务器会直接导致 session对象丢失。 。session超时,用户从最后一次请求开始,在指定的时间内若未向服务器发出过 HTTP 请 求, 会导致 session超时,服务器发现超时后, 会删除超时的 session 对象。 第 第 第 第 第 第 第 第 第 第 第 第 第 第 第 行 行 行 行 行 行 行 行 行 1 2 3 4 5 6 7

38、 8 9 0 1 2 3 4 5 行 行 行 行 行 行 int ti=0;2 String c ountcr=( String)application. getAttribute( 11 c ounter“); if( c ounter! =nuU) n=Integer. pars elnt(c ounter) if(ses sion.isNewO) A n=n4-1 ;a : N outprint(“您是第“+n+“位访客”); a : c ounter=S tring. valueO f(n) ;4- ?out 输出信息的方法 print() 和 println() ?prinl()和

39、println() 用于打印输出信息,被打印的信息AT 以是基本数据类型 ( 如 int double 等) ,也 可以是对象 ( 如字符串等 ) 。 ?两者的区别在于输出的信息在返回客户端的源代码中是否换行。 注:思考一下使用浏览器查看两种浏览方式时是否会出现换行 ?即使使用 printlnO 进行输出在浏览器中也不会换行显示信息,要实现这个功能,必须使用换行 符,如 “); out.print(“456“); % 预览后, IE 浏览器中显示的内容为: 123 456 服务器返冋的 HTML 代码为: 123456 newLine() newLine()表示输出一个回年换行符 缓冲区相关的

40、方法 flush()方法 ?flush()用于刷新流,在Java 中 I/O 操作被转化为流操作。 ?out.write() 输出的信息会被暂存在流对象缓冲区中,刷新操作把缓冲区中的信息传递给目标对象 处理。 。如果目标对象是另外一个字符流或字节流,同样也刷新它。所以,调用HushO 方法会导 致刷新所有输出流对象链中的缓冲区。 如果缓冲区满了,这个方法被自动调用,输出缓冲区中的信息 ?注:在流关闭时调用print() 或 flush()会引发一个 IOException 异常,例如: 的异常信息。 clear()方法 clear。表示清除缓冲区中的信息。如果缓冲区是空的,执行此方法会引发IO

41、Exception 异 常。 clearBuffer() ? clearBuffer()的功能与 clear。相似,它将输出缓冲区清除后返回,与clear()不同的 是它不抛 出异常。 getBufferSize() 在 Tomcat 命令行窗口中显示“Internal error flushing the buffer in releaseO ? getBufferSize() 返回输出缓冲区的大小,单位字节,如果没有缓冲区,则返回0。 getRemainingO ?getRemaining() 返回缓冲区剩余的空闲空间,单位字节。isAutoFlush() ?isAutoFlush() 返

42、回一个真假值,用于标示缓冲区是否自动刷新。 ?application 一、application 作用范围变量 ?application 作川范围变量能够被Web 应用中的所有程序共享。 ?application 对彖提供的存储方法有: public java.util.Enumcralion gctAttributcNamcs () 返冋当前上下文中所有可用的appliaction作用范围变量名,并存储在枚举型对象中。 public java.lang.Object getAttribute(java.lang.String name) application 属性能被 Web 应用中所有的

43、 Servlet 程序所共享可用 application实现一个简单的 站点计数器,进行访问次数统计 public java.lang.String getMimelpe(java.lang.String file) ?返回指定文件的MIME-type, 这些 MIME-type 由 Servlet容器定义 , 如果文件的MIME-type 未 知,则返冋null。Eg: out print(application. getMimeTypeC/d. docl,)+ ,l ,1); out print(application. getMimeTyp “) 丿 applicationmsword

44、丄application/vnd. ms - exc el 4 application/zip 丄 image/gif*- 1 Config config 隐含对象 config 隐含对象: javax.servlet.ServletConfig 类型,用于给一个Servlet 程序传送初始化参 数。 如果想将一个 JSP页面当作 Servlet 程序使用,则需在项目的web.xml 中写岀部署信息。 例:把 a.jsp 当作 URL 名为“/go ” 的 Servlet 程序用,在 web.xml 中的部署信息为: + J vervletAd go /a.j sp + J lo ginT4a

45、me* tom+ J *J 2 * J -4- 1 go + J /go 4 J 4J 中定义的初始化参数要用到config 隐 含对象。 ? config对象中关键的方法有: public javaJangString name) 形参为初始化参数名,返回初始化参数值,如果找不到指定的初始化参数,则返回 nullo public java.utiLEnumeration getInitParameterNames() 读取所有的初始化参数名并存于枚举型对象中。 “) * % ” exception exception 隐含对象 JSP页面在运行时发生异常,系统会生成一个异常对象,把相关的运行

46、时异常信息封装在异常 对象中,这个异常对象被传递给异常处理页作进一步处理。 exception 隐含对象是 java.lang.Throwable 类型的, Throwable 是 Java 中所有异常类的父类, Throwable 中关键的方法有: public StackTraceElementf getStackTrace() 这个方法返回堆栈跟踪元素的数组,每个元素表示一个堆栈帧。 数组的第零号元素表示堆栈顶部,堆栈顶部的帧表示生成堆栈跟踪的执行点,异常信息一般是 通过访问数组的零号元素而得。 StackTraceElement 类中常用的方法有: public String getC

47、IassName() 返回发生异常的类名。 public String getMethodName() 。返回发生异常的方法名。 public String getFileName() 。返回发生异常的文件名。 public int getLineNuinber() 。返回异常发生点在 * Java 源码文件中的行号。 page隐含对象 JSP页面会被翻译成 Servlet 程序运行,最终会以一个“对象”的身份运行在JVM 中, 而 page 对象表示“当前” Servlet 程序对象,相当于Java 中的“this,咲键字。 pageContext 隐含对象 javax.servlet.js

48、p.PageContext 类型,在JSP 页面的 Servlet 实现类中调用 JspFactory.getPageContext () 取得一个PageContext 对象。 PageContext 中常用的方法有: 1、获得其它隐含对象 调用 pageContext 对象中的getException() getPage() 、getRequest()、getResponse()、 getSession()和 getServletConfigO 方法可获得相应的JSP隐含对象。 实现转发跳转的方法为 request, s etAttribute(“ lo ginl-Jame 11 ? “t

49、om“) j pageC ontext. forward( “/b ,j sp N); a 实现包含的方法为 : 行 行 行 行 12 3 4 第 第 第 第 屮直接川 new生成对象,再调用其屮的方法。 ?通过 JSP标准动作来使川: o 五、 JSP动作与 JavaBean生命周期 1、动作 ? 标记用于从指定的作用范围中查找一个指定ID 名的 JavaBean对象, 并将其 引用到当前 JSP页面中。 ?如果在指定的作用范围内找不到此对象,则重新牛成一个。 的基本语法为: 行 行 行 行 12 3 4 第 第 第 第 ?id 属性为 JavaBean对彖指定一个唯一的名字。 ?class属性给出 JavaBean的包名及类名。 ?Scope给出 JavaBean对象的作川范围,也叫JavaBean的生命周期 ?scope 的可能取值有page request session A application 2、动作 ?基本语法: ?name属性值与 中的 id 属性值一致

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1