《JSP内置对象素材.ppt》由会员分享,可在线阅读,更多相关《JSP内置对象素材.ppt(46页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JsP主要内容主要内容request对象对象response对象对象 session对象对象out对象对象application对象对象难点难点使用使用Tag文件处理数据文件处理数据理解理解session对象对象使用使用session对象存储数据对象存储数据关键实践关键实践使用使用request对象对象使用使用response对象对象使用使用session对象对象第4章导读章导读JsP第4章 JSP内置对象内置对象 有些有些成员变量不用声明成员变量不用声明就可以在就可以在JSPJSP页面的脚本(页面的脚本(JavaJava程序片和程序片和JavaJava表达式)表达式)中使用,这就是所谓的内置
2、对象。中使用,这就是所谓的内置对象。 内置对象有:内置对象有:resquest、response、session、out 、 application 。 JsPJsPHTTP请求包格式GET hello.htm HTTP/1.1Host:请求方法为GET,获取指定的资源资源名的URL为hello.htm请求所用协议及版本HTTP/1.1Host:为请求头JsPJsP4.1 request对象对象 在在JSP中,内置对象中,内置对象request封装了用户请求页面时所提封装了用户请求页面时所提交的信息,该对象调用相应的方法可以获取封装的信息交的信息,该对象调用相应的方法可以获取封装的信息.即即r
3、equestrequest对象对象可以获取用户提交的信息可以获取用户提交的信息。用户在请求用户在请求JSPJSP页面时,通常会使用页面时,通常会使用HTMLHTML表单提交信息,表表单提交信息,表单的一般格式是:单的一般格式是: FORM method=get|post action= 提交手段提交手段 例如用户提交信息表单:例如用户提交信息表单: INPUT TYPE=submit value= name=submit tom.jsp页面可以使用内置页面可以使用内置request对象获得用户提交的信息对象获得用户提交的信息 request.getParameter(boy);request.
4、getParameter(boy); JsP4.1.1 4.1.1 获取用户提交的信息获取用户提交的信息 request request对象获取用户提交信息的最常用的方法对象获取用户提交信息的最常用的方法是是 String String getParameter(String s)getParameter(String s). . 返回类型:返回类型:StringString参数参数: :字段名,即字段名,即FormForm子标记的子标记的namename的属性值。的属性值。 例例4-1 , 4-2 P62 String textContent = request.getParameter(b
5、oy);JsP4.1.2 4.1.2 处理汉字信息处理汉字信息 当用当用requestrequest对象对象获取用户提交的汉字字符时获取用户提交的汉字字符时,会出会出现乱码问题现乱码问题,所以对含有汉字字符的信息必须进行特所以对含有汉字字符的信息必须进行特殊的处理。首先殊的处理。首先,将获取的字符串用将获取的字符串用ISO-8859-1ISO-8859-1进行进行编码,并将编码存放到一个字节数组中,然后再将编码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象即可这个数组转化为字符串对象即可.如下所示:如下所示:String str=request.getParameter(gi
6、rl);String str=request.getParameter(girl);byte b=str.getBytes(ISO-8859-1);byte b=str.getBytes(ISO-8859-1); str=new String(b);str=new String(b); 例例4-3 P64JsP4.1.3 4.1.3 常用方法举例常用方法举例 可以用内置对象可以用内置对象requestrequest对象来获取请求所提交的各类信对象来获取请求所提交的各类信息,息,requestrequest对象的常用方法如下:对象的常用方法如下: ngetProtocol()getProtoco
7、l():获取请求使用的通信协议,如获取请求使用的通信协议,如http/1.1http/1.1等。等。ngetServletPath()getServletPath():获取请求的:获取请求的JSPJSP页面所在的目录。页面所在的目录。ngetContentLength()getContentLength():获取:获取HTTPHTTP请求的长度。请求的长度。ngetMethod()getMethod():获取表单提交信息的方式,如:获取表单提交信息的方式,如POSTPOST或或GETGET。ngetHeader(String s)getHeader(String s):获取请求中头的值。获取请
8、求中头的值。ngetHeaderNames()getHeaderNames():获取头名字的一个枚举。:获取头名字的一个枚举。ngetHeaders(String s)getHeaders(String s):获取头的全部值的一个枚举。获取头的全部值的一个枚举。ngetRemoteAddr()getRemoteAddr():获取客户的:获取客户的IPIP地址。地址。ngetRemoteHost()getRemoteHost():获取客户机的名称获取客户机的名称( (如果获取不到,就获取如果获取不到,就获取IPIP地址地址).).ngetServerName()getServerName():获
9、取服务器的名称。获取服务器的名称。ngetServerPort()getServerPort():获取服务器的端口号。获取服务器的端口号。ngetParameterNames()getParameterNames():获取表单提交的信息体部分中获取表单提交的信息体部分中namename参数值的一个枚举参数值的一个枚举. . 例例4-4 P66JsP4.1.4 4.1.4 使用使用TagTag文件处理有关数据文件处理有关数据 JSP JSP页面使用页面使用requestrequest对象获取用户提交的数据,对象获取用户提交的数据,然后使用然后使用TagTag标记调用标记调用TagTag文件,并将
10、必要的数据文件,并将必要的数据传递给传递给TagTag文件。文件。TagTag文件负责处理数据,根据需文件负责处理数据,根据需要将处理结果显示给用户或返回给调用它的要将处理结果显示给用户或返回给调用它的JSPJSP页页面。面。 例例4-5 P68example4_5.jsp 用户提交三边用户提交三边 get.jsp调用调用tagtag并传递三边并传递三边 Computer.tag 计算面积并返回结果计算面积并返回结果 JsPRev: Tag 标记的定义nnnnnJsPRev: Tag标记的使用nnn ncomputer:Triangle a= b= c=/JsP4.1.5 4.1.5 处理处理
11、HTMLHTML标记标记 JSP JSP页面可以含有页面可以含有HTMLHTML标记,当用户通过浏览标记,当用户通过浏览器请求一个器请求一个JSPJSP页面时,页面时,TomcatTomcat服务器将该服务器将该JSPJSP页页面中的面中的HTMLHTML标记直接发送到用户的浏览器,由用标记直接发送到用户的浏览器,由用户的浏览器负责执行这些户的浏览器负责执行这些HTMLHTML标记。而标记。而JSPJSP页面中页面中的变量声明、程序片以及表达式由的变量声明、程序片以及表达式由TomcatTomcat服务器服务器处理后,再将有关的结果用文本方式发送到用户处理后,再将有关的结果用文本方式发送到用户
12、端的浏览器。端的浏览器。 HTMLHTML是是Hypertext Marked LanguageHypertext Marked Language的缩写,的缩写,即超文本标记语言。即超文本标记语言。 JsP4.1.5 4.1.5 处理处理HTMLHTML标记标记_ _ 标记标记 标记被习惯地称作表单,用户经常需要使用表单提交数据。标记被习惯地称作表单,用户经常需要使用表单提交数据。表单的一般格式是:表单的一般格式是:FORM method= get| post action= 数据提交手段部分数据提交手段部分 其中其中Form 是表单标记,其中的是表单标记,其中的methodmethod属性取
13、值属性取值getget或或postpost。 提交手段包括:通过文本框、列表、文本区等,例如:提交手段包括:通过文本框、列表、文本区等,例如: INPUT Select Option TextArea JsP4.1.5 4.1.5 处理处理HTMLHTML标记标记_ _标记标记 表单标记表单标记将将标记作为子标记来指定表单中数据的输入方式标记作为子标记来指定表单中数据的输入方式以及表单的提交键。以及表单的提交键。标记中的标记中的typetype属性可以指定输入方式的属性可以指定输入方式的GUIGUI对象,对象,namename属性用来指定这个属性用来指定这个GUIGUI对象的名称。对象的名称。
14、标记的基本格式:标记的基本格式:Input type= 服务器通过属性服务器通过属性namename指定的名字来获取指定的名字来获取“输入对象的输入对象的GUIGUI类型类型”中提中提交的数据。交的数据。“输入对象的输入对象的GUIGUI类型类型”可以是:可以是:texttext(文本框)、(文本框)、checkboxcheckbox(检查框)、(检查框)、submitsubmit(提交键)等。(提交键)等。n文本框文本框text:text: n单选框单选框radio:radio: n复选框复选框checkbox :checkbox :n口令框口令框password:password:n隐藏隐
15、藏hidden:hidden: n提交键提交键submit:submit:Input type=submit name=me value= size=12 n重置键:重置键:reset: reset: 例例4-6 P72JsP4.1.5 4.1.5 处理处理HTMLHTML标记标记_ _、格式格式 下拉式列表和滚动列表通过下拉式列表和滚动列表通过和和标记来定义。基本格式标记来定义。基本格式为:为: (1 1)下拉列表)下拉列表 你选了小猫你选了小猫 你选了小狗你选了小狗 (2 2)滚动列表)滚动列表: :在在SelectSelect中指定中指定sizesize属性的值就变成滚动列表,属性的值就
16、变成滚动列表,sizesize的值是滚动列表的可的值是滚动列表的可见行的个数。见行的个数。 计算计算1 1到到n n的连续和的连续和 计算计算1 1到到n n的平方和的平方和 例例4-7 P74JsP4.1.5 4.1.5 处理处理HTMLHTML标记标记_ _格式格式 标记在表单中指定一个能输入多行文本的文本区标记在表单中指定一个能输入多行文本的文本区域。域。基本格式为:基本格式为:JsP4.1.5 4.1.5 处理处理HTMLHTML标记标记_ _表格表格 表格由表格由、标记定义。标记定义。一般格式一般格式: tr width= th width= 单元格中的数据单元格中的数据 td wi
17、dth= 单元格中的数据单元格中的数据 其中其中 定义表格的一个行,定义表格的一个行,或或标记定义这一行中的标记定义这一行中的表格单元,二者的区别是:表格单元,二者的区别是:定义的单元加重显示,定义的单元加重显示,称做普通单称做普通单元,不加重显示。一行中的加重单元和普通单元可以交替出现,也可以元,不加重显示。一行中的加重单元和普通单元可以交替出现,也可以全是加重单元或普通单元。全是加重单元或普通单元。中增加选项中增加选项border可指明该表格是否带有边框。可指明该表格是否带有边框。 例例4-8 P76JsP4.1.5 4.1.5 处理处理HTMLHTML标记标记_ _与与标记标记 使用使用
18、或或标记都可以显示一副图象,标记的基标记都可以显示一副图象,标记的基本格式为:本格式为: img src=URL 描述文字描述文字 image src= URL 描述文字描述文字 如果如果图像文件和当前页面在同一图像文件和当前页面在同一Web服务目录中,服务目录中,“图像的图像的文件的文件的URL”就是该图像文件的名字;就是该图像文件的名字;如果如果图像文件在当前图像文件在当前Web服务目录一个子目录中,比如服务目录一个子目录中,比如picture子目录中,那么子目录中,那么“图像文件的图像文件的URL”就是就是“picture/图像文件的名字图像文件的名字”. 标记中可以使用标记中可以使用w
19、idth和和height属性指定被显示的图像的宽属性指定被显示的图像的宽为和高,如果省略为和高,如果省略width和和height属性,标记将按图像的原始属性,标记将按图像的原始宽度和高度来显示图像。宽度和高度来显示图像。 JsP4.1.5 4.1.5 处理处理HTMLHTML标记标记_ _标记标记 使用使用标记可以播放音乐和视频标记可以播放音乐和视频,当浏览器执行该标记当浏览器执行该标记时时,会把浏览器所在机器上的默认播放器嵌入到浏览器中,以会把浏览器所在机器上的默认播放器嵌入到浏览器中,以便播放音乐或视频文件。便播放音乐或视频文件。标记的基本格式为:标记的基本格式为: embed src=
20、URL 描述文字描述文字 如果音乐或视频文件和当前页面在同一Web服务目录中,标记中src属性的值就是该文件的名字;如果视频文件在当前Web服务目录一个子目录中,比如avi子目录中,那么标记中src属性的值就是“avi/视频文件的名字”。 标记中经常使用的属性及取值如下:标记中经常使用的属性及取值如下:autostart属性属性的值用来指定音乐或视频文件传送完毕后是否立刻播放的值用来指定音乐或视频文件传送完毕后是否立刻播放, autostart取值取值 “true”或或“false”,该属性的默认值是,该属性的默认值是false。loop属性属性的取值为正整数的取值为正整数,该属性的值用来指定
21、音乐或视频文件重复播放该属性的值用来指定音乐或视频文件重复播放的次数。的次数。例例4-9 P77JsP4.2 response对象对象 可以用可以用responseresponse对象对象对用户的请求做出动态响对用户的请求做出动态响应,向用户端发送数据。应,向用户端发送数据。 1. 1.动态响应动态响应contentTypecontentType属性属性 2. 2.动态设置动态设置HTTPHTTP响应包的头值。响应包的头值。 3. 3.可以使用可以使用response.sendRedirect(url)response.sendRedirect(url)重重定向定向 4. 4.可以自己设置状态
22、代码。可以自己设置状态代码。 JsPJsP4.2.14.2.1 动态响应动态响应contentTypecontentType属性属性 由于由于pagepage指令只能为指令只能为contentTypecontentType属性指定一个值来决定响属性指定一个值来决定响应的应的MIMEMIME类型。类型。 如果想动态地改变这个属性的值来响应用户如果想动态地改变这个属性的值来响应用户,就需要使用就需要使用responseresponse对象对象的的setContentType(String s)setContentType(String s)方法方法来改变来改变contentTypecontentT
23、ype的属性的属性值。值。 public void setContentType(String s);public void setContentType(String s);方法动态设置响应的方法动态设置响应的MIME类型,参数类型,参数s可取可取: text/htmltext/html、text/plaintext/plain、image/gifimage/gif、image/x-xbitmapimage/x-xbitmap、 image/jpegimage/jpeg、image/pjpegimage/pjpeg、application/x-shockwave-flashapplicati
24、on/x-shockwave-flash、 application/vnd.ms-powerpointapplication/vnd.ms-powerpoint、 application/vnd.ms-excelapplication/vnd.ms-excel、 application/mswordapplication/msword。 例例4-10, 4-11 P78JsPn当用户请求一个JSP页面时,Tomcat服务器将此JSP页面翻译成java源代码,然后编译成字节码后执行,响应用户的请求。n如果希望用户使用浏览器解析并执行所收到的信息,则应设置contentType值如下:n% pag
25、e contentType=;charset=GB2312 %n如果希望浏览器启用本地的msword程序解析并执行所收到的信息,则应设置contentType值如下:n% page contentType= % ncontentTypecontentType属性指定一个值来决定属性指定一个值来决定响应的响应的MIMEMIME类型类型。因此,浏。因此,浏览器依据览器依据MIMEMIME类型确定用类型确定用哪个程序哪个程序进行处理。进行处理。SJPRevRev page page 指令指令_ _contentType属性属性 contentType 属性值确定属性值确定JSP页面响应的页面响应的M
26、IME(Multipurpose Internet Mail Extention)类型和)类型和JSP页页面字符的编码。面字符的编码。例如例如: : 注:注:不允许两次使用不允许两次使用page 指令给指令给contentType属性指定属性指定不同的属性值不同的属性值 . 例例2-8 P21JsP4.2.2 response4.2.2 response的的HTTPHTTP文件头文件头 response对象可以使用方法:对象可以使用方法: addHeader(String head,String value);addHeader(String head,String value);或使用方法:
27、或使用方法: setHeader(String head ,String value);setHeader(String head ,String value);动态添加新的响应头和头的值,并将这些头发送给用户的浏动态添加新的响应头和头的值,并将这些头发送给用户的浏览器。如果添加的头已经存在,则先前的头被覆盖。览器。如果添加的头已经存在,则先前的头被覆盖。 请求头:请求头:Post example:jsp HTTP.1.1Host:localhost:8080Accept-encoding:gzip,deflateJsPn例例4-12 P80nresponse 响应对象添加一个响应头:nref
28、resh:5n用户收到此页面后,将在5秒钟后再次刷新页面,导致网页每5秒刷新一次。nresponse.addHeader(String head,String value)nresponse.addHeader(refresh,5);JsP4.2.3 response4.2.3 response重定向重定向 在某些情况下,在某些情况下,JSP引擎在响应用户时,可能需要将用户引擎在响应用户时,可能需要将用户重新引导至重新引导至另一个页面。另一个页面。 例如,如果用户输入的表单信息不完整,就会再次被引导例如,如果用户输入的表单信息不完整,就会再次被引导到该表单的输入页面。到该表单的输入页面。使用使
29、用response对象的对象的sendRedirect(URL url)方法方法实现用户的重定实现用户的重定向。向。 例例4-13 P81JsP4.2.4 4.2.4 responseresponse的状态行的状态行 当当JSP引擎对用户请求进行响应时,它发送的首行称做状态引擎对用户请求进行响应时,它发送的首行称做状态行。行。 状态行包括状态行包括3位数字的状态代码位数字的状态代码和对状态代码的描述(称做和对状态代码的描述(称做原因短语)。原因短语)。参考表参考表4-1 状态代码表状态代码表例例4-14 P82 可以获取请求页面的可以获取请求页面的URL,判断是否允许访问。,判断是否允许访问。
30、 request.getHeader(referer);JsPnwebapps-ch3n other.jspnwebapps-ch4n sameWebOne.jspn sameWebTwo.jsp防盗链JsP4.3 sessionsession对象对象 HTTPHTTP协议是一种无状态协议。一个用户向服务协议是一种无状态协议。一个用户向服务器发出请求(器发出请求(requestrequest),然后服务器返回响应),然后服务器返回响应(responseresponse),连接就被关闭了,在服务器端不保),连接就被关闭了,在服务器端不保留连接的有关信息,因此当下一次连接时,服务器留连接的有关信息
31、,因此当下一次连接时,服务器已没有以前的连接信息了,无法判断这一次连接和已没有以前的连接信息了,无法判断这一次连接和以前的连接是否属于同一用户。以前的连接是否属于同一用户。 内置内置session(session(会话会话) )对象对象记录记录有关连接的有关连接的信息信息. .由由TomcatTomcat服务器负责创建服务器负责创建。JsP会话的定义n描述:n从一个用户打开浏览器链接到服务器的某个Web服务目录,到用户关闭浏览器离开服务器称为一个会话。JsP4.3.1 session4.3.1 session对象的对象的IDID session session对象被分配了一个对象被分配了一个S
32、tringString类型的类型的IDID,TomcatTomcat服务器将服务器将IDID发送到客户端,存放在客户的发送到客户端,存放在客户的CookieCookie中。中。 同一用户在同一同一用户在同一WebWeb服务目录中的各个页面的服务目录中的各个页面的sessionsession是相同的是相同的. . 不同用户的不同用户的sessionsession对象互不相同,具有不同的对象互不相同,具有不同的ID.ID. 例例4-15 P86JsP4.3.2 session4.3.2 session对象与对象与URLURL重写重写 如果用户端不支持如果用户端不支持CookieCookie,那么用
33、户在不同网页之间的,那么用户在不同网页之间的sessionsession对象对象可能可能是互不相同的,因为如果服务器无法将是互不相同的,因为如果服务器无法将IdId存放到用户端,就不能建立存放到用户端,就不能建立sessionsession对象和用户的一一对应对象和用户的一一对应关系。关系。 可以通过可以通过URLURL重写来实现重写来实现sessionsession对象的惟一性。所谓对象的惟一性。所谓URLURL重写重写,就是当用户从一个页面重新链接到另一个页面时,通,就是当用户从一个页面重新链接到另一个页面时,通过向这个新的过向这个新的URLURL添加参数,把添加参数,把sessionse
34、ssion对象的对象的IdId传带过去,传带过去,这样就可以保障用户在该网站各个页面中的这样就可以保障用户在该网站各个页面中的sessionsession对象是对象是完全相同的。可以使用完全相同的。可以使用responseresponse对象调用对象调用encodeURL()encodeURL()或或encodeRedirectURL()encodeRedirectURL()方法实现方法实现URLURL重写重写. . 例例4-16 P87JsPnresponse 内置对象npublic String encodeURL(String url); n 对包含 session ID的URL进行编码
35、。如果不需要编码,就直接返回这个 URL。Servlet 引擎必须提供 URL编码方法,因为在有些情况下,我们将不得不重写 URL,例如,在响应 对应的请求中包含一个有效的 session,但是这个 session 不能被非 URL 的(例如 cookie)的手段来维持。 n 所有提供给 Servlet 的 URL都应通过这个方法运行,这样才能确保会话跟踪能够在所有n浏览器中正常运行。 JsP4.3.3 session4.3.3 session对象存储数据对象存储数据 sessionsession对象使用下列方法处理数据:对象使用下列方法处理数据: (1(1) public void setA
36、ttribute(String key, Object obj) public void setAttribute(String key, Object obj) sessionsession对象可以调用该方法将参数对象可以调用该方法将参数ObjectObject指定的对象指定的对象objobj添加到添加到sessionsession对对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被清除。相同,则先前添加的对象被清除。(2 2)public Object getAttibute(S
37、tring keypublic Object getAttibute(String key) ) 获取获取sessionsession对象含有的关键字是对象含有的关键字是keykey的对象。由于任何对象都可以添加到的对象。由于任何对象都可以添加到sessionsession对象中,因此用该方法取回对象时,应强制转化为原来的类型。对象中,因此用该方法取回对象时,应强制转化为原来的类型。(3 3)public Enumeration getAttributeNames()public Enumeration getAttributeNames() s e s s i o ns e s s i o
38、n 对 象 调 用 该 方 法 产 生 一 个 枚 举 对 象 , 该 枚 举 对 象 使 用对 象 调 用 该 方 法 产 生 一 个 枚 举 对 象 , 该 枚 举 对 象 使 用nextElemets()nextElemets()遍历遍历sessionsession中的各个对象所对应的关键字。中的各个对象所对应的关键字。(4 4)public long getCreationTime() public long getCreationTime() sessionsession对象调用该方法可以获取该对象创建的时间,单位是毫秒。对象调用该方法可以获取该对象创建的时间,单位是毫秒。 (5 5
39、)public void removeAttribute(String name)public void removeAttribute(String name) sessionsession对象调用该方法移掉关键字对象调用该方法移掉关键字keykey对应的对象对应的对象. . 例例4-17 P89JsP4.3.4 4.3.4 在在TagTag文件中使用文件中使用sessionsession对象对象 JSP JSP页面通过调用页面通过调用TagTag文件可以实现代码的复用,文件可以实现代码的复用,那么在反复调用那么在反复调用TagTag文件时,文件时,TagTag文件就可以对文件就可以对ses
40、sionsession对象中存储的数据进行处理,并将必要对象中存储的数据进行处理,并将必要的结果返回给的结果返回给JSPJSP页面。页面。 例例4-18 P90JsP4.3.5 session4.3.5 session对象的生存期限对象的生存期限 sessionsession对象对象的生存期限依赖的生存期限依赖:客户是否关闭浏览器。客户是否关闭浏览器。2. session对象是否调用对象是否调用invalidate()方法使方法使session无效。无效。3. session对象是否达到设置的最长对象是否达到设置的最长“发呆发呆”时间时间 例例4-19 P92JsP4.3.6 4.3.6 使用
41、使用sessionsession设置时间间隔设置时间间隔 为了限制用户在很短的时间间隔内不断地使用为了限制用户在很短的时间间隔内不断地使用某页面所提供的某种功能,而影响其他用户使用该某页面所提供的某种功能,而影响其他用户使用该页面所提供的功能,因此我们可以利用页面所提供的功能,因此我们可以利用用户的用户的sessionsession来设置用户使用当前页面所提供功能的间来设置用户使用当前页面所提供功能的间隔时间,从而限制该用户等待若干隔时间,从而限制该用户等待若干“时间时间”后,再后,再次使用该页面所提供的功能。次使用该页面所提供的功能。 例例4-20 P93JsP4.3.7 4.3.7 计数器
42、计数器 使用使用sessionsession实现计数器的步骤是:当一个用户实现计数器的步骤是:当一个用户请求请求WebWeb服务目录下的任何一个服务目录下的任何一个JSPJSP页面时,首先检页面时,首先检查该用户的查该用户的sessionsession对象中是否已经有计数,如果对象中是否已经有计数,如果没有计数,立刻将当前的计数增没有计数,立刻将当前的计数增1 1,并将计数存到,并将计数存到用户的用户的sessionsession中,否则不改变当前的计数。中,否则不改变当前的计数。 例例4-21 P95JsP4.4 out对象对象 out out对象是一个输出流对象是一个输出流, ,用来向用户
43、端输出数据。用来向用户端输出数据。 outout对象可调用如下的方法用于各种数据的输出,对象可调用如下的方法用于各种数据的输出,nout.print(Boolean)out.print(Boolean),out.println(Boolean)out.println(Boolean) 用于输出一个布尔值用于输出一个布尔值。nout.print(char)out.print(char),out.println(char)out.println(char)输出一个字符。输出一个字符。nout.print(double)out.print(double),out.println(double)out
44、.println(double)输出一个双精度的浮点数。输出一个双精度的浮点数。nout.print(float)out.print(float),out.println(float)out.println(float) 用于输出一个单精度的浮点数。用于输出一个单精度的浮点数。nout.print(long)out.print(long),out.println(long)out.println(long)输出一个长整型数据。输出一个长整型数据。nout.print(String)out.print(String),out.println(String)out.println(String)
45、输出一个字符串对象的内容。输出一个字符串对象的内容。nout.newLine()out.newLine()输出一个换行符。输出一个换行符。nout.flush()out.flush() 输出缓冲区里的内容。输出缓冲区里的内容。nout.close() out.close() 关闭流。关闭流。 例例4-22 P97JsP4.5 application对象对象 任何客户在所访问的服务目录的各个页面浏览时,任何客户在所访问的服务目录的各个页面浏览时,application对对象都是同一个象都是同一个. .application对象的常用方法对象的常用方法(1 1)public void setAtt
46、ribute(String key, Object obj)public void setAttribute(String key, Object obj) applicationapplication对象可以调用该方法将参数对象可以调用该方法将参数ObjectObject指定的对象指定的对象 objobj添加到添加到applicationapplication对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加对象被清除。则先前添加对象被清除。(2 2)public Object g
47、etAttibue(String key)public Object getAttibue(String key) 获取获取applicationapplication对象含有的关键字是对象含有的关键字是keykey的对象。由于任何对象都可以添加到的对象。由于任何对象都可以添加到applicationapplication对象中,因此用该方法取回对象时,应强制转化为原来的类型。对象中,因此用该方法取回对象时,应强制转化为原来的类型。(3 3)public Enumeration getAttributeNames()public Enumeration getAttributeNames()
48、applicationapplication对象调用该方法产生一个枚举对象,该枚举对象使用对象调用该方法产生一个枚举对象,该枚举对象使用nextElemets()nextElemets()遍遍历历applicationapplication中的各个对象所对应的关键字。中的各个对象所对应的关键字。(4 4)public void removeAttribue(String key)public void removeAttribue(String key) 从当前从当前applicationapplication对象中删除关键字是对象中删除关键字是keykey的对象。的对象。 (5 5)publ
49、ic String getServletInfo()public String getServletInfo() applicationapplication对象可以调用该方法获取对象可以调用该方法获取ServletServlet编译器的当前版本的信息。编译器的当前版本的信息。 例例4-23 P99JsP人有了知识,就会具备各种分析能力,明辨是非的能力。所以我们要勤恳读书,广泛阅读,古人说“书中自有黄金屋。”通过阅读科技书籍,我们能丰富知识,培养逻辑思维能力;通过阅读文学作品,我们能提高文学鉴赏水平,培养文学情趣;通过阅读报刊,我们能增长见识,扩大自己的知识面。有许多书籍还能培养我们的道德情操,给我们巨大的精神力量,鼓舞我们前进。JsP