JSP内置对象.ppt

上传人:豆**** 文档编号:24550013 上传时间:2022-07-05 格式:PPT 页数:31 大小:136.50KB
返回 下载 相关 举报
JSP内置对象.ppt_第1页
第1页 / 共31页
JSP内置对象.ppt_第2页
第2页 / 共31页
点击查看更多>>
资源描述

《JSP内置对象.ppt》由会员分享,可在线阅读,更多相关《JSP内置对象.ppt(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、JsP主要内容主要内容request对象对象response对象对象 session对象对象out对象对象application对象对象难点难点理解理解session对象对象使用使用session对象存储数据对象存储数据关键实践关键实践使用使用request对象对象使用使用response对象对象使用使用session对象对象第4章导读章导读JsP第4章 JSP内置对象内置对象 有些成员变量不用声明就可以在有些成员变量不用声明就可以在JSP页面的脚本(页面的脚本(Java程序片和程序片和Java表表达式)中使用,这就是所谓的内置对象。达式)中使用,这就是所谓的内置对象。 内置对象有:内置对象有

2、:resquest、response、session、out 、 application 。 JsP4.1 request对象对象 在在JSP中,内置对象中,内置对象request封装了用户请求页面时所提封装了用户请求页面时所提交的信息,该对象调用相应的方法可以获取封装的信息交的信息,该对象调用相应的方法可以获取封装的信息.即即request对象对象可以获取用户提交的信息可以获取用户提交的信息。用户在请求用户在请求JSP页面时,通常会使用页面时,通常会使用HTML表单提交信息,表单提交信息,表单的一般格式是:表单的一般格式是: 提交手段提交手段 例如用户提交信息表单:例如用户提交信息表单: t

3、om.jsp页面可以使用内置页面可以使用内置request对象获得用户提交的信息对象获得用户提交的信息 request.getParameter(boy); JsP4.1.1 4.1.1 获取用户提交的信息获取用户提交的信息 request对象获取用户提交信息的最常用的方法是对象获取用户提交信息的最常用的方法是getParameter(String s). 例例4-1 , 4-2 P62JsP4.1.2 4.1.2 处理汉字信息处理汉字信息 当用当用request对象对象获取用户提交的汉字字符时获取用户提交的汉字字符时,会出现会出现乱码问题乱码问题,所以对含有汉字字符的信息必须进行特殊所以对含

4、有汉字字符的信息必须进行特殊的处理。首先的处理。首先,将获取的字符串用将获取的字符串用ISO-8859-1进行编进行编码,并将编码存放到一个字节数组中,然后再将这码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象即可个数组转化为字符串对象即可.如下所示:如下所示:String str=request.getParameter(girl);byte b=str.getBytes(ISO-8859-1); str=new String(b); 例例4-3 P64JsP4.1.3 4.1.3 常用方法举例常用方法举例 可以用内置对象可以用内置对象request对象来获取请求所提交的各

5、类信息,对象来获取请求所提交的各类信息,request对象的常用方法如下:对象的常用方法如下: ngetProtocol():获取请求使用的通信协议,如获取请求使用的通信协议,如http/1.1等。等。ngetServletPath():获取请求的:获取请求的JSP页面所在的目录。页面所在的目录。ngetContentLength():获取:获取HTTP请求的长度。请求的长度。ngetMethod():获取表单提交信息的方式,如:获取表单提交信息的方式,如POST或或GET。ngetHeader(String s):获取请求中头的值。获取请求中头的值。ngetHeaderNames():获取头

6、名字的一个枚举。:获取头名字的一个枚举。ngetHeaders(String s):获取头的全部值的一个枚举。获取头的全部值的一个枚举。ngetRemoteAddr():获取客户的:获取客户的IP地址。地址。ngetRemoteHost():获取客户机的名称获取客户机的名称(如果获取不到,就获取如果获取不到,就获取IP地址地址).ngetServerName():获取服务器的名称。获取服务器的名称。ngetServerPort():获取服务器的端口号。获取服务器的端口号。ngetParameterNames():获取表单提交的信息体部分中获取表单提交的信息体部分中name参数值的一个枚举参数值

7、的一个枚举. 例例4-4 P66JsP4.1.5 处理处理HTML标记标记 JSP页面可以含有页面可以含有HTML标记,当用户通过浏标记,当用户通过浏览器请求一个览器请求一个JSP页面时,页面时,Tomcat服务器将该服务器将该JSP页面中的页面中的HTML标记直接发送到用户的浏览器,标记直接发送到用户的浏览器,由用户的浏览器负责执行这些由用户的浏览器负责执行这些HTML标记。而标记。而JSP页面中的变量声明、程序片以及表达式由页面中的变量声明、程序片以及表达式由Tomcat服务器处理后,再将有关的结果用文本方服务器处理后,再将有关的结果用文本方式发送到用户端的浏览器。式发送到用户端的浏览器。

8、 HTML是是Hypertext Marked Language的缩写,的缩写,即超文本标记语言。即超文本标记语言。 JsP4.1.5 处理处理HTML标记标记_ 标记标记 标记被习惯地称作表单,用户经常需要使用表单提交数据。标记被习惯地称作表单,用户经常需要使用表单提交数据。表单的一般格式是:表单的一般格式是: 数据提交手段部分数据提交手段部分 其中其中是表单标记,其中的是表单标记,其中的method属性取值属性取值get或或post。 提交手段包括:通过文本框、列表、文本区等,例如:提交手段包括:通过文本框、列表、文本区等,例如: JsP4.1.5 处理处理HTML标记标记_标记标记 表单

9、标记表单标记将将标记作为子标记来指定表单中数据的输入方标记作为子标记来指定表单中数据的输入方式以及表单的提交键。式以及表单的提交键。标记中的标记中的type属性可以指定输入方式的属性可以指定输入方式的GUI对象,对象,name属性用来指定这个属性用来指定这个GUI对象的名称。对象的名称。标记的基本标记的基本格式:格式: 服务器通过属性服务器通过属性name指定的名字来获取指定的名字来获取“输入对象的输入对象的GUI类型类型”中提中提交的数据。交的数据。“输入对象的输入对象的GUI类型类型”可以是:可以是:text(文本框)、(文本框)、checkbox(检查框)、(检查框)、submit(提交

10、键)等。(提交键)等。n文本框文本框text: n单选框单选框radio: n复选框复选框checkbox :n口令框口令框password:n隐藏隐藏hidden: n提交键提交键submit: n重置键:重置键:reset: 例例4-6 P72JsP4.1.5 处理处理HTML标记标记_、格式格式 下拉式列表和滚动列表通过下拉式列表和滚动列表通过和和标记来定义。基本格式为:标记来定义。基本格式为: (1)下拉列表)下拉列表 你选了小猫你选了小猫 你选了小狗你选了小狗 (2)滚动列表)滚动列表:在在Select中指定中指定size属性的值就变成滚动列表,属性的值就变成滚动列表,size的值是

11、滚动列表的可见行的值是滚动列表的可见行的个数。的个数。 计算计算1到到n的连续和的连续和 计算计算1到到n的平方和的平方和 例例4-7 P74JsP4.1.5 处理处理HTML标记标记_格式格式 标记在表单中指定一个能输入多行文本的文本区标记在表单中指定一个能输入多行文本的文本区域。域。基本格式为:基本格式为:JsP4.1.5 处理处理HTML标记标记_表格表格 表格由表格由、标记定义。标记定义。一般格式一般格式: 单元格中的数据单元格中的数据 单元格中的数据单元格中的数据 其中其中 定义表格的一个行,定义表格的一个行,或或标记定义这一行中的标记定义这一行中的表格单元,二者的区别是:表格单元,

12、二者的区别是:定义的单元加重显示,定义的单元加重显示,称做普通单称做普通单元,不加重显示。一行中的加重单元和普通单元可以交替出现,也可以元,不加重显示。一行中的加重单元和普通单元可以交替出现,也可以全是加重单元或普通单元。全是加重单元或普通单元。中增加选项中增加选项border可指明该表格是否带有边框。可指明该表格是否带有边框。 例例4-8 P76JsP4.1.5 处理处理HTML标记标记_与与标记标记 使用使用或或标记都可以显示一副图象,标记的基标记都可以显示一副图象,标记的基本格式为:本格式为: 描述文字描述文字 描述文字描述文字 如果如果图像文件和当前页面在同一图像文件和当前页面在同一W

13、eb服务目录中,服务目录中,“图像的图像的文件的文件的URL”就是该图像文件的名字;就是该图像文件的名字;如果如果图像文件在当前图像文件在当前Web服务目录一个子目录中,比如服务目录一个子目录中,比如picture子目录中,那么子目录中,那么“图像文件的图像文件的URL”就是就是“picture/图像文件的名字图像文件的名字”. 标记中可以使用标记中可以使用width和和height属性指定被显示的图像的宽属性指定被显示的图像的宽为和高,如果省略为和高,如果省略width和和height属性,标记将按图像的原始属性,标记将按图像的原始宽度和高度来显示图像。宽度和高度来显示图像。 JsP4.1.

14、5 处理处理HTML标记标记_标记标记 使用使用标记可以播放音乐和视频标记可以播放音乐和视频,当浏览器执行该标记当浏览器执行该标记时时,会把浏览器所在机器上的默认播放器嵌入到浏览器中,以会把浏览器所在机器上的默认播放器嵌入到浏览器中,以便播放音乐或视频文件。便播放音乐或视频文件。标记的基本格式为:标记的基本格式为: 描述文字描述文字 如果音乐或视频文件和当前页面在同一Web服务目录中,标记中src属性的值就是该文件的名字;如果视频文件在当前Web服务目录一个子目录中,比如avi子目录中,那么标记中src属性的值就是“avi/视频文件的名字”。 标记中经常使用的属性及取值如下:标记中经常使用的属

15、性及取值如下:autostart属性属性的值用来指定音乐或视频文件传送完毕后是否立刻播放的值用来指定音乐或视频文件传送完毕后是否立刻播放, autostart取值取值 “true”或或“false”,该属性的默认值是,该属性的默认值是false。loop属性属性的取值为正整数的取值为正整数,该属性的值用来指定音乐或视频文件重复播放该属性的值用来指定音乐或视频文件重复播放的次数。的次数。例例4-9 P77JsP4.2 response对象对象 可以用可以用responseresponse对象对象对用户的请求做出动态响对用户的请求做出动态响应,向用户端发送数据。应,向用户端发送数据。 JsP4.2

16、.1 动态响应动态响应contentType属性属性 由于由于page指令只能为指令只能为contentType属性指定一个值来决定响属性指定一个值来决定响应的应的MIME类型。类型。 如果想动态地改变这个属性的值来响应用户如果想动态地改变这个属性的值来响应用户,就需要使用就需要使用response对象对象的的setContentType(String s)方法方法来改变来改变contentType的属的属性性值。值。 public void setContentType(String s);方法动态设置响应的方法动态设置响应的MIME类型,参数类型,参数s可取可取: text/html、te

17、xt/plain、image/gif、image/x-xbitmap、 image/jpeg、image/pjpeg、application/x-shockwave-flash、 application/vnd.ms-powerpoint、 application/vnd.ms-excel、 application/msword。 例例4-10, 4-11 P78JsP4.2.2 response的的HTTP文件头文件头 response对象可以使用方法:对象可以使用方法: addHeader(String head,String value);或使用方法:或使用方法: setHeader(S

18、tring head ,String value);动态添加新的响应头和头的值,并将这些头发送给用户的浏动态添加新的响应头和头的值,并将这些头发送给用户的浏览器。如果添加的头已经存在,则先前的头被覆盖。览器。如果添加的头已经存在,则先前的头被覆盖。 例例4-12 P80JsP4.2.3 response4.2.3 response重定向重定向 在某些情况下,在某些情况下,JSP引擎在响应用户时,可能需要将用户引擎在响应用户时,可能需要将用户重新引导至另一个页面。重新引导至另一个页面。 例如,如果用户输入的表单信息不完整,就会再次被引导例如,如果用户输入的表单信息不完整,就会再次被引导到该表单的

19、输入页面。到该表单的输入页面。使用使用response对象的对象的sendRedirect(URL url)方法方法实现用户的重定实现用户的重定向。向。 例例4-13 P81JsP4.2.4 4.2.4 responseresponse的状态行的状态行 当当JSP引擎对用户请求进行响应时,它发送的首行称做状态引擎对用户请求进行响应时,它发送的首行称做状态行。行。 状态行包括状态行包括3位数字的状态代码和对状态代码的描述(称做位数字的状态代码和对状态代码的描述(称做原因短语)。原因短语)。参考表参考表4-1 状态代码表状态代码表例例4-14 P82JsP4.3 sessionsession对象对

20、象 HTTPHTTP协议是一种无状态协议。一个用户向服务协议是一种无状态协议。一个用户向服务器发出请求(器发出请求(requestrequest),然后服务器返回响应),然后服务器返回响应(responseresponse),连接就被关闭了,在服务器端不保),连接就被关闭了,在服务器端不保留连接的有关信息,因此当下一次连接时,服务器留连接的有关信息,因此当下一次连接时,服务器已没有以前的连接信息了,无法判断这一次连接和已没有以前的连接信息了,无法判断这一次连接和以前的连接是否属于同一用户。以前的连接是否属于同一用户。 内置内置session(session(会话会话) )对象对象记录有关连接的

21、记录有关连接的信息信息. .由由TomcatTomcat服务器负责创建服务器负责创建。JsP4.3.1 session4.3.1 session对象的对象的IDID session对象被分配了一个对象被分配了一个String类型的类型的ID,Tomcat服务器将服务器将ID发送到客户端,存放在客户的发送到客户端,存放在客户的Cookie中。中。 同一用户在同一同一用户在同一Web服务目录中的各个页面的服务目录中的各个页面的session是相同的是相同的. 不同用户的不同用户的session对象互不相同,具有不同的对象互不相同,具有不同的ID. 例例4-15 P86JsP4.3.2 sessio

22、n4.3.2 session对象与对象与URLURL重写重写 如果用户端不支持如果用户端不支持Cookie,那么用户在不同网页之间的,那么用户在不同网页之间的session对象可能是互不相同的,因为如果服务器无法将对象可能是互不相同的,因为如果服务器无法将Id存存放到用户端,就不能建立放到用户端,就不能建立session对象和用户的一一对应关系。对象和用户的一一对应关系。 可以通过可以通过URL重写来实现重写来实现session对象的惟一性。所谓对象的惟一性。所谓URL重写,就是当用户从一个页面重新链接到另一个页面时,通重写,就是当用户从一个页面重新链接到另一个页面时,通过向这个新的过向这个新

23、的URL添加参数,把添加参数,把session对象的对象的Id传带过去,传带过去,这样就可以保障用户在该网站各个页面中的这样就可以保障用户在该网站各个页面中的session对象是完对象是完全相同的。可以使用全相同的。可以使用response对象调用对象调用encodeURL()或或encodeRedirectURL()方法实现方法实现URL重写重写. 例例4-16 P87JsP4.3.3 session4.3.3 session对象存储数据对象存储数据 session对象使用下列方法处理数据:对象使用下列方法处理数据: (1) public void setAttribute(String k

24、ey, Object obj) session对象可以调用该方法将参数对象可以调用该方法将参数Object指定的对象指定的对象obj添加到添加到session对象中,对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被清除。则先前添加的对象被清除。(2)public Object getAttibute(String key) 获取获取session对象含有的关键字是对象含有的关键字是key的对象。由于任何对象都可以添加到的对象。由于任何对象都可以添加到session对象中,因此用该方

25、法取回对象时,应强制转化为原来的类型。对象中,因此用该方法取回对象时,应强制转化为原来的类型。(3)public Enumeration getAttributeNames() session对象调用该方法产生一个枚举对象,该枚举对象使用对象调用该方法产生一个枚举对象,该枚举对象使用nextElemets()遍遍历历session中的各个对象所对应的关键字。中的各个对象所对应的关键字。(4)public long getCreationTime() session对象调用该方法可以获取该对象创建的时间,单位是毫秒。对象调用该方法可以获取该对象创建的时间,单位是毫秒。 (5)public voi

26、d removeAttribute(String name) session对象调用该方法移掉关键字对象调用该方法移掉关键字key对应的对象对应的对象. 例例4-17 P89JsP4.3.4 在在Tag文件中使用文件中使用session对象对象 JSP页面通过调用页面通过调用Tag文件可以实现代码的复用,文件可以实现代码的复用,那么在反复调用那么在反复调用Tag文件时,文件时,Tag文件就可以对文件就可以对session对象中存储的数据进行处理,并将必要的对象中存储的数据进行处理,并将必要的结果返回给结果返回给JSP页面。页面。 例例4-18 P90JsP4.3.5 session对象的生存期

27、限对象的生存期限 session对象对象的生存期限依赖的生存期限依赖:客户是否关闭浏览器。客户是否关闭浏览器。2. session对象是否调用对象是否调用invalidate()方法使方法使session无效。无效。3. session对象是否达到设置的最长对象是否达到设置的最长“发呆发呆”时间时间 例例4-19 P92JsP4.3.6 使用使用session设置时间间隔设置时间间隔 为了限制用户在很短的时间间隔内不断地使用为了限制用户在很短的时间间隔内不断地使用某页面所提供的某种功能,而影响其他用户使用该某页面所提供的某种功能,而影响其他用户使用该页面所提供的功能,因此我们可以利用页面所提供

28、的功能,因此我们可以利用用户的用户的session来设置用户使用当前页面所提供功能的间隔来设置用户使用当前页面所提供功能的间隔时间,从而限制该用户等待若干时间,从而限制该用户等待若干“时间时间”后,再次后,再次使用该页面所提供的功能。使用该页面所提供的功能。 例例4-20 P93JsP4.3.7 4.3.7 计数器计数器 使用使用session实现计数器的步骤是:当一个用户实现计数器的步骤是:当一个用户请求请求Web服务目录下的任何一个服务目录下的任何一个JSP页面时,首先页面时,首先检查该用户的检查该用户的session对象中是否已经有计数,如果对象中是否已经有计数,如果没有计数,立刻将当前

29、的计数增没有计数,立刻将当前的计数增1,并将计数存到,并将计数存到用户的用户的session中,否则不改变当前的计数。中,否则不改变当前的计数。 例例4-21 P95JsP4.4 out对象对象 out对象是一个输出流对象是一个输出流,用来向用户端输出数据。用来向用户端输出数据。 out对象可调用如下的方法用于各种数据的输出,对象可调用如下的方法用于各种数据的输出,nout.print(Boolean),out.println(Boolean) 用于输出一个布尔值用于输出一个布尔值。nout.print(char),out.println(char)输出一个字符。输出一个字符。nout.pri

30、nt(double),out.println(double)输出一个双精度的浮点数。输出一个双精度的浮点数。nout.print(float),out.println(float) 用于输出一个单精度的浮点数。用于输出一个单精度的浮点数。nout.print(long),out.println(long)输出一个长整型数据。输出一个长整型数据。nout.print(String),out.println(String) 输出一个字符串对象的内容。输出一个字符串对象的内容。nout.newLine()输出一个换行符。输出一个换行符。nout.flush() 输出缓冲区里的内容。输出缓冲区里的内容

31、。nout.close() 关闭流。关闭流。 例例4-22 P97JsP4.5 application对象对象 任何客户在所访问的服务目录的各个页面浏览时,任何客户在所访问的服务目录的各个页面浏览时,application对象都对象都是同一个是同一个.application对象的常用方法对象的常用方法(1)public void setAttribute(String key, Object obj) application对象可以调用该方法将参数对象可以调用该方法将参数Object指定的对象指定的对象 obj添加到添加到application对象中,对象中,并为添加的对象指定了一个索引关键字

32、,如果添加的两个对象的关键字相同,则先前添并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加对象被清除。加对象被清除。(2)public Object getAttibue(String key) 获取获取application对象含有的关键字是对象含有的关键字是key的对象。由于任何对象都可以添加到的对象。由于任何对象都可以添加到application对象中,因此用该方法取回对象时,应强制转化为原来的类型。对象中,因此用该方法取回对象时,应强制转化为原来的类型。(3)public Enumeration getAttributeNames() applicatio

33、n对象调用该方法产生一个枚举对象,该枚举对象使用对象调用该方法产生一个枚举对象,该枚举对象使用nextElemets()遍历遍历application中的各个对象所对应的关键字。中的各个对象所对应的关键字。(4)public void removeAttribue(String key) 从当前从当前application对象中删除关键字是对象中删除关键字是key的对象。的对象。 (5)public String getServletInfo() application对象可以调用该方法获取对象可以调用该方法获取Servlet编译器的当前版本的信息。编译器的当前版本的信息。 例例4-23 P99

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

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁