版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1第第6章章JSP的内置对象的内置对象6.1 out对象对象6.2 page对象对象6.3 request对象对象6.4 response对象对象6.5 session对象对象6.6 pageContext对象对象6.7 config对象对象6.8 exception对象对象6.9 application对象对象2在在JSP页面中页面中不需要预先声明不需要预先声明和和创建创建这些对这些对象就能直接使用。象就能直接使用。编写编写JSP的人员的人员不需要不需要对这些内部对象进行对这些内部对象进行实例化实例化,只要调用其中的方法就能实现特定,只要调用其中的方法就能实现特定的功能,这给的功能,这给Ja
2、va Web编程带来很大的方便。编程带来很大的方便。 36.1 out对象对象6.1.1 out对象的方法对象的方法6.1.2 out对象实例对象实例46.1.1 out对象的方法对象的方法out对象主要用来向客户输出各种数据类型的内容对象主要用来向客户输出各种数据类型的内容,并并管理应用服务器上的输出缓冲区管理应用服务器上的输出缓冲区(buffer)。缓冲区。缓冲区默认值是默认值是8KB,可以通过,可以通过page指令来改变缓冲区的指令来改变缓冲区的大小。大小。out对象被封装成对象被封装成javax.servlet.jsp.JspWriter 接口接口。它表示为客户打开的输出流它表示为客户
3、打开的输出流(output stream),通过通过Jsp容器变换为容器变换为java.io.PrintWriter类对象类对象, PrintWriter使用它向客户端发送输出流。使用它向客户端发送输出流。5out对象能把结果对象能把结果输出输出到网页上,用来到网页上,用来控制控制管管理输出缓冲区和输出流。理输出缓冲区和输出流。out是专门为向客户端发送输出而设计的,是专门为向客户端发送输出而设计的,out变量是从变量是从PageContext对象初始化而获得对象初始化而获得的。的。outout对象的作用域是对象的作用域是pagepage。6out对象的主要对象的主要方法如下方法如下:1.pr
4、int()/println():用于输出数据。用于输出数据。Out对象是对象是JSP中使用中使用最为频繁最为频繁的对象,它的的对象,它的print()和和println()方法最常用。方法最常用。v print()方法把()方法把Java对象原始数据类型输对象原始数据类型输入到客户端的缓冲区,入到客户端的缓冲区,v println()方法除了把内容输出到客户端,方法除了把内容输出到客户端,还在后面添加一个还在后面添加一个空行空行。(。(标签中才标签中才可见)可见)2.newLine()方法:用于输出一个换行字符。方法:用于输出一个换行字符。71.flush():用于用于输出缓冲区里的数据输出缓
5、冲区里的数据。此方法会先将。此方法会先将之前缓冲区中的数据输出至客户端,然后再清除缓之前缓冲区中的数据输出至客户端,然后再清除缓冲区中的数据。冲区中的数据。2.clearBuffer():用于清除缓冲区里的数据,并把数:用于清除缓冲区里的数据,并把数据输出到客户端。据输出到客户端。3.clear():用于清除缓冲区里的数据,但不会把数据用于清除缓冲区里的数据,但不会把数据输出到客户端。输出到客户端。4.getBufferSize():用于获得缓冲区的大小。用于获得缓冲区的大小。5.getRemaining():用于获得缓冲区中没有被占用的用于获得缓冲区中没有被占用的空间的大小。空间的大小。6.
6、isAutoFlush():返回布尔值,如果返回布尔值,如果AutoFlush为真,为真,则返回则返回true,反之,返回,反之,返回false。7.close():关闭输出流关闭输出流.可以强制终止当前页面的剩余可以强制终止当前页面的剩余部分向浏览器输出。部分向浏览器输出。86.1 out对象对象96.1 out对象对象6.1.1 out对象的方法对象的方法6.1.2 out对象实例对象实例10【例例6-1】out对象实例对象实例11.2.3. 4. 5. out对象实例演示对象实例演示6. 7. 8. 9. % for(int i=0;i2;i+)10. out.println(中国欢迎你
7、中国欢迎你!); 11. %outExamples1.jsp补充:补充:outdemo.jsp1112. 12运行效果运行效果13【例例6-2】out对象实例对象实例2 1.2.3. 4. 5. JSP Page6. 7. 8. 缓存大小:缓存大小:9. 剩余缓存大小:剩余缓存大小:10. 自动刷新:自动刷新:11. outExamples2.jsp1412. %13. out.print(中国欢迎你,北京欢迎你!中国欢迎你,北京欢迎你!);14. out.print(当前可用缓冲区空间:当前可用缓冲区空间: + out.getRemaining() + );15. out.print(接着调
8、用接着调用out.flush()方方法法);16. out.flush();/注释掉是另一个效果注释掉是另一个效果17. out.print(当前可用缓冲区空间:当前可用缓冲区空间: + out.getRemaining()+ );18. out.clearBuffer();19. out.print(当前可用缓冲区空间:当前可用缓冲区空间: + out.getRemaining()+ );20. out.flush();21. %22. 23.15运行效果运行效果16第第6章章JSP的内置对象的内置对象6.1 out对象对象6.2 page对象对象6.3 request对象对象6.4 res
9、ponse对象对象6.5 session对象对象6.6 pageContext对象对象6.7 config对象对象6.8 exception对象对象6.9 application对象对象176.2 page对象对象6.2.1 page对象的方法对象的方法6.2.2 page对象实例对象实例186.2.1 page对象的方法对象的方法page对象代表对象代表JSP本身本身,更准确地说它代表,更准确地说它代表JSP被转译后的被转译后的Servlet,它可以调用,它可以调用Servlet类类所定义的方法。所定义的方法。 page对象指向当前对象指向当前JSP页面本身,有点象类页面本身,有点象类中的中
10、的this指针指针,它是,它是java.lang.Object类的实例。类的实例。目前,目前,page对象对象很少使用很少使用,它是,它是为了指定其为了指定其它的脚本语言而保留的它的脚本语言而保留的,Java是唯一是唯一的的JSP脚脚本语言。本语言。 19page对象的主要方法如下:对象的主要方法如下:1.getClass() :用于返回此用于返回此Object的类。的类。 2.hashCode() :用于返回此:用于返回此Object的的hash码码 。3.equals(Object obj) :用于判断此:用于判断此Object是否是否与指定的与指定的Object对象相等。对象相等。 4.
11、copy(Object obj) :用于把此用于把此Object拷贝到指拷贝到指定的定的Object对象中对象中 。5.clone() :用于克隆此用于克隆此Object对象对象 。206.toString() :用于把此用于把此Object对象转换成对象转换成String类的对象。类的对象。 7.notify():用于唤醒一个等待的线程。用于唤醒一个等待的线程。 8.notifyAll() :用于唤醒所有等待的线程用于唤醒所有等待的线程 。9.wait(int timeout) :用于使一个线程处于等用于使一个线程处于等待直到待直到timeout结束或被唤醒。结束或被唤醒。 10.wait(
12、) :用于使一个线程处于等待直到被唤用于使一个线程处于等待直到被唤醒醒 。11.enterMonitor():用于对用于对Object加锁。加锁。 12.exitMonitor() :用于对用于对Object开锁开锁 。216.2 page对象对象6.2.1 page对象的方法对象的方法6.2.2 page对象实例对象实例22【例例6-3】page对象实例对象实例 .5. page对象实例演示对象实例演示6. 7. 8. 的哈希码:的哈希码:9. 10.pageExamples.jsp23运行效果运行效果24第第6章章JSP的内置对象的内置对象6.1 out对象对象6.2 pag
13、e对象对象6.3 request对象对象6.4 response对象对象6.5 session对象对象6.6 pageContext对象对象6.7 config对象对象6.8 exception对象对象6.9 application对象对象256.3 request对象对象6.3.1 request对象的方法对象的方法6.3.2 request对象实例对象实例266.3.1 request对象的方法对象的方法当用户请求一个当用户请求一个JSP页面时,页面时, JSP页面所在的页面所在的Tomcat服务器将用户的请求封装在内置对象服务器将用户的请求封装在内置对象request中。中。reques
14、t内置对象代表了客户端的请求信息,主要用内置对象代表了客户端的请求信息,主要用于接收客户端通过于接收客户端通过HTTP协议传送给服务器端的数据。协议传送给服务器端的数据。在客户端的请求中如果有参数,则该对象就有一个在客户端的请求中如果有参数,则该对象就有一个参数列表。它通常是参数列表。它通常是HttpServletRequest的子类,其的子类,其作用域就是一次作用域就是一次request请求。请求。276.3.1 request对象的方法对象的方法Servlet容器将客户端信息封装在一个代表客户端的容器将客户端信息封装在一个代表客户端的request对象中,该对象是对象中,该对象是 java
15、x.servlet.ServletRequest的子类型。封装了的子类型。封装了HttpServletRequest对象中的客户端信息包括请求头对象中的客户端信息包括请求头(Header)、系统信息、系统信息(比如编码方式比如编码方式、请求方式、请求方式(比比如如get或或post)、请求参数信息、请求参数信息、Cookie和其它信息。和其它信息。该对象调用相应的方法可以获取封装的信息,也就该对象调用相应的方法可以获取封装的信息,也就是说,是说,使用该对象可以获取用户浏览器提交的请求使用该对象可以获取用户浏览器提交的请求信息,以便做出相应的响应。信息,以便做出相应的响应。 28request对
16、象的主要方法如下:对象的主要方法如下:1.getAttribute(String name):用于返回用于返回name指定的属性值,指定的属性值,若不存在指定的属性,就返回若不存在指定的属性,就返回null。2.getAttributes():用于返回用于返回request对象的所有属性的名字集对象的所有属性的名字集合,结果集是一个合,结果集是一个Enumeration(枚举)类的实例。(枚举)类的实例。3.getCookies() :用于返回客户端的所有用于返回客户端的所有Cookie对象,结果是对象,结果是一个一个Cookie数组。数组。4.getCharacterEncoding():
17、返回请求中的字符编码方式。返回请求中的字符编码方式。5.getContentLength():以字节为单位返回客户端请求的大小。:以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回如果无法得到该请求的大小,则返回-1。6.getHeader(String name):用于获得用于获得HTTP协议定义的文件头协议定义的文件头信息。信息。7.getHeaders(String name) :用于返回指定名字的用于返回指定名字的request Header的所有值,其结果是一个的所有值,其结果是一个Enumeration类的实例。类的实例。8.getHeaderNames():用于返
18、回所有用于返回所有request Header的名字的名字 ,其结果是一个其结果是一个Enumeration类的实例。类的实例。299.getInputStream():用于返回请求的输入流,获得请求中的数用于返回请求的输入流,获得请求中的数据。据。10.getMethod():用于获得客户端向服务器端传送数据的方法,用于获得客户端向服务器端传送数据的方法,如如GET,POST,HEADER,TRACE等。等。11.getParameter(String name) :用于获得客户端传送给服务器用于获得客户端传送给服务器端的参数值。获取表单提交的信息,以字符串形式返回客户端的参数值。获取表单提
19、交的信息,以字符串形式返回客户端传来的某一个请求参数的值,该参数名由端传来的某一个请求参数的值,该参数名由name指定。当传指定。当传递给此方法的参数名没有实际参数与之对应时,返回递给此方法的参数名没有实际参数与之对应时,返回null。12.getParameterNames():用于获得客户端传送给服务器端的所用于获得客户端传送给服务器端的所有参数名字,其结果是一个有参数名字,其结果是一个Enumeration类的实例。类的实例。13.getParameterValues(String name) :用于获得指定参数的所用于获得指定参数的所有值。返回客户端传送给服务器端的所有参数名,结果集是
20、有值。返回客户端传送给服务器端的所有参数名,结果集是一个一个Enumeration类的实例。当传递给此方法的参数名没有实类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回际参数与之对应时,返回null。14.getProtocol():用于获取客户端向服务器端传送数据所依据的用于获取客户端向服务器端传送数据所依据的协议名称。协议名称。15.getQueryString():用于获得查询字符串,该字符串是由客户用于获得查询字符串,该字符串是由客户端以端以GET方式向服务器端传送的。方式向服务器端传送的。16.getRequestURI():用于获取发出请求字符串的客户端地址。:用于获取
21、发出请求字符串的客户端地址。3017.getRemoteAddr():用于获取客户端用于获取客户端IP地址。地址。18.getRemoteHost():用于获取客户端名字。用于获取客户端名字。 19.getSession(Boolean create) :用于返回和请求相用于返回和请求相关的关的session。create参数是可选的。当有参数参数是可选的。当有参数create且这个参数值为且这个参数值为true时,如果客户端还没有时,如果客户端还没有创建创建session,那么将创建一个新的,那么将创建一个新的session。20.getServerName():用于获取服务器的名字。用于获
22、取服务器的名字。21.getServletPath():用于获取客户端所请求的脚本用于获取客户端所请求的脚本文件的文件路径。文件的文件路径。22.getServerPort():用于获取服务器的端口号。用于获取服务器的端口号。23.removeAttribute(String name) :用于删除请求中用于删除请求中的一个属性。的一个属性。24.setAttribute(String name, java.lang.Object obj) :用于设置用于设置request的参数值。的参数值。316.3 request对象对象326.3 request对象对象336.3 request对象对象
23、6.3.1 request对象的方法对象的方法6.3.2 request对象实例对象实例获取简单表单提交的信息:获取简单表单提交的信息:RequestRequest对象可以使对象可以使用用getParameter(string s)getParameter(string s)方法获取表单提交方法获取表单提交的信息。的信息。34【例例6-4】request对象实例对象实例1 1.2.3. 4. 5. request对象实例演示对象实例演示6. 7. requestExamples1.jsp358. %9. request.setAttribute(Variable1,123);10. reque
24、st.setAttribute(Variable2,456);11. request.setAttribute(Variable3,789);12. Enumeration e=request.getAttributeNames();13. while(e.hasMoreElements() 14. String attributeName=(String)e.nextElement();15. String attributeValue=(String)request.getAttribute(attributeName);16. out.print(变量名称:变量名称:+attribute
25、Name+    );17. out.print(变量内容:变量内容:+attributeValue+);18. 19. %20. 21.36运行效果运行效果37【例例6-5】request对象实例对象实例2 本例包括两个文件:本例包括两个文件:requestExamples2.jsp(主界面)和(主界面)和requestExamples.jsp(处理页(处理页面)。面)。在在requestExamples2.jsp页面中输入数据并单页面中输入数据并单击击“提交提交”按钮后,按钮后,requestExamples.jsp页页面将进行数据处理,并将数据输出到浏览器
26、面将进行数据处理,并将数据输出到浏览器中。中。 38requestExamples2.jsp.5.request对象实例演示对象实例演示6.7.8. 9. 数据数据110. 11. 数据数据212. 13. 数据数据314. 3915. 数据数据416. 17. 数据数据518. 19. 数据数据620. 21. 22. 23. 24. 25.26.40requestExamples.jsp.5.request对象实例演示对象实例演示6.7.8. 9. 刚才输入的刚才输入的6个数据是:个数据是:4110. %11. Enumeration e=request.get
27、ParameterNames();12. while(e.hasMoreElements()13. String parameterName=(String)e.nextElement();14. String parameterValue=(String)request.getParameter(parameterName);15. out.print(参数名称:参数名称:+parameterName+);16. out.print(参数内容:参数内容:+parameterValue+);17.18. %19. 20.21.42运行效果运行效果43【例例6-6】request对象实例对象实例
28、3 本例包括两个文件:本例包括两个文件:requestExamples3.jsp(主界面)和(主界面)和requestExamples31.jsp(处理(处理页面)。页面)。在在requestExamples3.jsp页面中输入数据后单页面中输入数据后单击击“提交提交”按钮,按钮,requestExamples31.jsp页页面将进行数据处理,并将数据输出到浏览器面将进行数据处理,并将数据输出到浏览器中。中。44requestExamples3.jsp 1.2. 3. 4. request对象实例演示对象实例演示5. 6. 7. 文本内容文本内容8. 整数类型整数类型9. 复选框复选框:10.
29、 1.11. 2. 4512. 单选按钮单选按钮:13. 14. 15. 16. 17. 18. 19. 4620. 下拉列表下拉列表:21. 22. 123. 224. 325. 426. 527. 628. 29. 30. 31. 32. 33.47requestExamples3.jsp效果效果 48requestExamples31.jsp 1.2.3. 4.request对象实例演示对象实例演示5. 6. 7. %8. String strText,strInteger,strCheckbox1,strCheckbox2;9. String strRadiobutton,strSel
30、ect,strOut,errOut;10. Integer intInteger;11. int errsCount;12. Vector errs =new Vector();13. strText=request.getParameter(text);4914./得到并处理名为得到并处理名为text的文本输入的文本输入15. if(strText.length()=0)16. /向错误信息库中添加信息向错误信息库中添加信息17. errs.addElement(new String(文本内容域没有值输入文本内容域没有值输入);18. 19. strInteger=request.getPa
31、rameter(integer);20. /得到名为得到名为Integer的输入并转化为的输入并转化为Integer,同时检查是否,同时检查是否为数值为数值21. try22. intInteger=Integer.valueOf(strInteger);23. catch(NumberFormatException e)24. errs.addElement(new String(整数类型需要输入数字!整数类型需要输入数字!);25. /向错误信息库中添加信息向错误信息库中添加信息26. intInteger=new Integer(0);27. /设为缺省值设为缺省值28. 5029.st
32、rCheckbox1=request.getParameter(checkbox1);30. strCheckbox2=request.getParameter(checkbox2);31. /得到得到CheckBox的输入的输入32. if(strCheckbox1=null)33. strCheckbox1=没有被选中没有被选中;34. else35. strCheckbox1=被选中被选中;36. 37. if(strCheckbox2=null)38. strCheckbox2=没有被选中没有被选中;39. else40. strCheckbox2=被选中被选中;41. 5142.st
33、rRadiobutton=request.getParameter(radionbutton);43. /得到得到radiobutton的输入的输入44. if(strRadiobutton=null)45. errs.addElement(new String(单选按钮没有输入!单选按钮没有输入!);46. strRadiobutton=没有输入没有输入;47. 48. /得到得到select的输入:的输入:49. strSelect=request.getParameter(select);50. strOut=文本内容的值是:文本内容的值是:+strText;51. strOut+=整数
34、类型的值是:整数类型的值是:+intInteger;52. strOut+=复选框复选框1+strCheckbox1;53. strOut+=复选框复选框2+strCheckbox2;54. strOut+=单选按钮的值是:单选按钮的值是:+strRadiobutton;55. strOut+=下拉列表的值是:下拉列表的值是:+strSelect+;5256./输出结果输出结果57. errsCount=errs.size();58. errOut=new String();59. /输出错误输出错误60. for(int i=0;ierrsCount;i+)61. errOut+=errs.
35、elementAt(i).toString();62. errOut+=;63. 64. out.println(结果结果);65. out.println(strOut);66. /输出结果输出结果67. if(errsCount!=0)68. out.println(错误错误);69. out.println(errOut);70. 71. %72. 73.53运行效果运行效果54【例例6-7】request对象实例对象实例4 1.2.3. 4. 5. request对象实例演示对象实例演示6. 7. 8. 559.%10. request.setAttribute(Name, 张三张三)
36、;11. request.setAttribute(Password, 123456);12. request.setAttribute(Email, );13. request.removeAttribute(Password);14. Enumeration e=request.getAttributeNames();15. String attrName;16. while(e.hasMoreElements() 17. attrName = e.nextElement().toString();18. out.print(attrName + = + request.getAttrib
37、ute(attrName) + );19. 20. request.setCharacterEncoding(ISO-8859-1);21. %5622.23. Content Length : 24. Content Type : 25. 26. 服务器地址:服务器地址:27. 服务器名称:服务器名称:28. 29. 30. 客户端地址:客户端地址:31. 客户端名称:客户端名称:32. 客户端端口:客户端端口:33. 验证用户名:验证用户名:5734.获取获取SessionId35. 请求请求URI:36. 请求请求URL:37. 服务器名字:服务器名字:38. 服务器端口:服务器端口:3
38、9. 40. 5841. 请求的会话请求的会话ID是否通过是否通过Cookie传入:传入:42. 请求的会话请求的会话ID是否通过是否通过URL传入:传入:43. 请求的会话请求的会话ID是否仍然有效:是否仍然有效:44. 45. 46. 47. 59运行效果运行效果60request对象实例对象实例5requestSelf.jsp自己提交给自己本身。自己提交给自己本身。61request对象实例对象实例6处理汉字信息(处理汉字信息(P222)当用当用request对象获取用户提交的对象获取用户提交的汉字汉字字符时,字符时,会出现乱码问题,所以对含有汉字字符的信会出现乱码问题,所以对含有汉字字
39、符的信息必须进行特殊的处理。息必须进行特殊的处理。ISO-8859-1是是JAVA网络传输使用的标准字网络传输使用的标准字符集。而符集。而gb2312是标准中文字符集,当你作是标准中文字符集,当你作出提交表单等需要网络传输的操作的时候,出提交表单等需要网络传输的操作的时候,就需要把就需要把iso-8859-1转换为转换为gb2312字符集显字符集显示,否则如果按浏览器的示,否则如果按浏览器的gb2312格式来解释格式来解释iso-8859-1字符集的话,由于字符集的话,由于2者不兼容,所者不兼容,所以会是乱码。以会是乱码。62request对象实例对象实例6处理汉字信息处理汉字信息ISO885
40、9 不是一个标准,而是一系列的标准,不是一个标准,而是一系列的标准,这套字符集与编码系统的共同特色是,以同这套字符集与编码系统的共同特色是,以同样的码位对应不同字符集。样的码位对应不同字符集。ISO8859-1 字符集,也就是字符集,也就是 Latin-1,是西欧,是西欧常用字符,包括德法两国的字母。常用字符,包括德法两国的字母。ISO8859-2 字符集,也称为字符集,也称为 Latin-2,收集了,收集了东欧字符。东欧字符。ISO8859-3 字符集,也称为字符集,也称为 Latin-3,收集了,收集了南欧字符。南欧字符。63request对象实例对象实例6处理汉字信息处理汉字信息转换方法
41、:首先,将获取的字符串用转换方法:首先,将获取的字符串用ISO-8859-1进行进行编码,并将编码存放到一个字节数组中,然后再将这编码,并将编码存放到一个字节数组中,然后再将这个数组转化为字符串对象即可。如下所示:个数组转化为字符串对象即可。如下所示:String var =request.getParameter( varname );byte b= var.getBytes(ISO-8859-1);/将英文字符转为将英文字符转为字节码字节码unicode var =new String(b,”GBK”); / ,”GBK”可以不写,按页可以不写,按页面指定编码转换面指定编码转换或者:或者:
42、String var= new String (request.getParameter(varname).getBytes(ISO-8859-1),GBK) ;例如例如:toHanzi.jsp、toHanziShow.jsp64第第6章章JSP的内置对象的内置对象6.1 out对象对象6.2 page对象对象6.3 request对象对象6.4 response对象对象6.5 session对象对象6.6 pageContext对象对象6.7 config对象对象6.8 exception对象对象6.9 application对象对象656.4 response对象对象6.4 .1 resp
43、onse对象的方法对象的方法6.4 .2 response对象实例对象实例666.4 .1 response对象的方法对象的方法response对象与对象与request对象正好相反,所包含的是对象正好相反,所包含的是服务器向客户端作出的应答信息。服务器向客户端作出的应答信息。 response对象实现对象实现HttpServletResponse接口,它可接口,它可以使用以使用 HttpServletResponse的方法将的方法将服务器端数据服务器端数据发送到客户端发送到客户端。response对象的生命周期对象的生命周期 由由JSP容容器自动控制。当服务器向客户端传送数据时,器自动控制。
44、当服务器向客户端传送数据时,JSP容器就会创建容器就会创建response对象并将请求信息包装到对象并将请求信息包装到response对象中;当对象中;当JSP容器处理完请求后,容器处理完请求后,response对象就会被销毁。对象就会被销毁。因输出流是缓冲的,所以可以设置因输出流是缓冲的,所以可以设置Http状态码和状态码和response头。头。67response对象包含了响应客户请求的有关信息,对象包含了响应客户请求的有关信息,它封装了它封装了JSP产生的响应,然后被发送到客户端以产生的响应,然后被发送到客户端以响应客户的请求。响应客户的请求。response对象的主要方法如下:对象的
45、主要方法如下:1.addCookie(Cookie cook):用于给用户添加一个用于给用户添加一个Cookie对象,保存客户端的相关信息。可使用对象,保存客户端的相关信息。可使用request的的getCookies()方法获取该方法获取该Cookie对象。对象。2.addHeader(String name,String value):用于添加带用于添加带有指定名称和字符串的有指定名称和字符串的HTTP文件头信息,该文件头信息,该Header信息将传达到客户端,如果不存在就添加,信息将传达到客户端,如果不存在就添加,存在则覆盖。存在则覆盖。3.addDateHeader(String na
46、me,String value):用于添用于添加带有指定名称和日期值的加带有指定名称和日期值的HTTP文件头信息,该文件头信息,该Header信息将传达到客户端,如果不存在就添加,信息将传达到客户端,如果不存在就添加,存在则覆盖。存在则覆盖。4.containsHeader(String name):用于判断指定名称用于判断指定名称的的Header是否已经存在,存在返回是否已经存在,存在返回true,否则返回,否则返回false。685.flushBuffer():用于强制把当前缓冲区所有内容发用于强制把当前缓冲区所有内容发送到客户端。送到客户端。6.getBufferSize():用于获取实
47、际缓冲区的大小,如用于获取实际缓冲区的大小,如果没使用缓冲区则返回果没使用缓冲区则返回0。7.getCharacterEncoding():用于获取响应的字符编用于获取响应的字符编码方式。码方式。8.getContentType():用于获取响应的内容用于获取响应的内容MIME类类型。型。9.getOutputStream():用于获取到客户端的输出流。用于获取到客户端的输出流。10.sendError():用于向客户端发送错误信息。如:用于向客户端发送错误信息。如:404指网页找不到错误。指网页找不到错误。6911.sendRedirect():用于重新定向客户端的请求。用于重新定向客户端的
48、请求。12.setCharacterEncoding():用于设置响应的字符编用于设置响应的字符编码方式。码方式。13.setContent():用于设置响应的内容用于设置响应的内容MIME类型。类型。14.setContentLength():用于设置响应内容的长度用于设置响应内容的长度(字节数。)(字节数。)15.setHeader():用于设置指定名称和字符串的用于设置指定名称和字符串的HTTP文件头信息,该文件头信息,该Header信息将传达到客户端,如信息将传达到客户端,如果不存在就设置,存在则覆盖。果不存在就设置,存在则覆盖。16.setDateHeader():用于设置指定名称和
49、日期值的用于设置指定名称和日期值的HTTP文件头信息,该文件头信息,该Header信息将传达到客户信息将传达到客户端,如果不存在就设置,存在则覆盖。端,如果不存在就设置,存在则覆盖。706.4 .1 response对象的方法对象的方法716.4 response对象对象6.4 .1 response对象的方法对象的方法6.4 .2 response对象实例对象实例response的的HTTP文件头:使用文件头:使用Response刷刷新页面新页面ResponseResponse重定向重定向动态响应动态响应contenType属性属性72response对象实例对象实例1 刷新页面刷新页面 r
50、esponseresponse的的HTTPHTTP文件头文件头 1.2.3. 4.response对象实例演示对象实例演示5. 6. 7. 当前时间是:当前时间是:8. 9. 10. 定时刷新定时刷新2m11. 12. 13. 14.responseExamples1.jsp73运行效果运行效果74【例例6-9】response对象实例对象实例2 本例包括两个文件:本例包括两个文件: responseExamples2.jsp与与responseExamples3.jsp,对多个方法的综合使用进行了演示。,对多个方法的综合使用进行了演示。 response重定向重定向 在某些情况下,当响应客户
51、时,需要将客户重新引导至另一在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,可以使用个页面,可以使用response的的sendRedirect(URL)方法实现客方法实现客户的重定向。户的重定向。注意注意:使用:使用,直接在服务器上执行重定向,直接在服务器上执行重定向,在转到新的页面后,原来页面在转到新的页面后,原来页面request参数是可用的,同时在参数是可用的,同时在转到新的页面后,新页面地址转到新的页面后,新页面地址不会不会在地址栏中显示出来,而在地址栏中显示出来,而且只能是且只能是相对地址相对地址资源。资源。而使用而使用sendRedirect方法是向浏览器发送一个特殊
52、的头文件,方法是向浏览器发送一个特殊的头文件,然后由浏览器来做转向到新的页面,重定向后在浏览器地址然后由浏览器来做转向到新的页面,重定向后在浏览器地址栏会出现重定向后页面栏会出现重定向后页面URL。可以是。可以是绝对地址或相对地址资绝对地址或相对地址资源源。75responseExamples2.jsp1.2.3. 4. response对象实例演示对象实例演示5. 6. 7. 10. 11. 12. 7615. 18. 19. 20. 21. 24. 25. 7726. 友情链接友情链接:27. 28. 29. 30. 搜狐搜狐31. 百度百度32. 网易网易33. 34. 35. 36.
53、37. 38.78responseExamples3.jsp1.2. 3. 14. 798081动态响应动态响应contentType属性属性 由于由于pagepage指令只能为指令只能为contentTypecontentType属性指定一个值来决定响应的属性指定一个值来决定响应的MIMEMIME类型。类型。 如果想动态地改变这个属性的值来响应用户,就需要使用如果想动态地改变这个属性的值来响应用户,就需要使用responseresponse对象对象的的setContentType(String s)setContentType(String s)方法方法来改变来改变contentTypeco
54、ntentType的属性的属性值。值。 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-flashappl
55、ication/x-shockwave-flash、 application/vnd.ms-powerpointapplication/vnd.ms-powerpoint、 application/vnd.ms-excelapplication/vnd.ms-excel、 application/mswordapplication/msword。 例例response_setContentType1.jsp、response_setContentType2.jsp(补充(补充 )82cookie 对象(补充对象(补充 P297)cookie是是Web服务器保存在用户硬盘上的一段服务器保存在用户
56、硬盘上的一段文本。文本。cookie允许一个允许一个Web站点在用户的电脑上保存站点在用户的电脑上保存信息并且随后再取回它。信息并且随后再取回它。cookies是一种是一种WEB服务器通过浏览器在访问服务器通过浏览器在访问者的硬盘上存储信息的手段。者的硬盘上存储信息的手段。83 cookie 对象对象 cookies给网站和用户带来的给网站和用户带来的好处好处:(1)cookie能使站点跟踪特定访问者的访问次数、最能使站点跟踪特定访问者的访问次数、最后访问时间和访问者进入站点的路径。后访问时间和访问者进入站点的路径。(2)cookie能告诉在线广告商广告被点击的次数,从能告诉在线广告商广告被点
57、击的次数,从而可以更精确的投放广告。而可以更精确的投放广告。(3)cookie有效期限未到时,有效期限未到时,cookie能使用户不需要能使用户不需要重复键入密码和用户名进入曾经浏览过的一些站点。重复键入密码和用户名进入曾经浏览过的一些站点。(4)cookie能帮助站点统计用户个人资料以实现各种能帮助站点统计用户个人资料以实现各种各样的个性化服务。各样的个性化服务。 84 cookie与与session的比较的比较 85 cookie基本操作基本操作 cookie是以是以“关键字关键字=值值(key=value)”的格式的格式来保存纪录的,其基本操作包括创建、传送和读取。来保存纪录的,其基本操
58、作包括创建、传送和读取。创建创建cookie对象对象 调用调用cookie对象的构造函数可以创建对象的构造函数可以创建cookie。cookie对象的构造函数有两个字符串参数:对象的构造函数有两个字符串参数:cookie名字和名字和cookie值。值。创建创建cookie的语法格式如下:的语法格式如下: Cookie c=new Cookie(“username”,”liuzc”);86传送传送cookiecookie对象对象 JSPJSP中如果要将封装好的中如果要将封装好的cookiecookie对象传送到客户端,对象传送到客户端,使用使用responseresponse的的addCooki
59、e()addCookie()方法。传送方法。传送cookiecookie对象对象的语法格式如下:的语法格式如下: response.addCookie(c)response.addCookie(c)设置设置cookiecookie对象有效时间对象有效时间 设置设置cookiecookie对象有效时间对象有效时间( (秒秒) )可以使用可以使用setMaxAge()setMaxAge()方法。如果设置其时间为方法。如果设置其时间为0 0,则表示删除该,则表示删除该cookiecookie。设置设置cookiecookie对象的有效时间的语法格式如下:对象的有效时间的语法格式如下: c.setMa
60、xAge(3600); /1c.setMaxAge(3600); /1小时小时 cookie基本操作基本操作 87读取读取cookie对象对象 读取保存到客户端的读取保存到客户端的cookie,使用,使用request对象的对象的getCookies()方法,执行时将所有客户端传来的方法,执行时将所有客户端传来的cookie对象以数组的形式排列,如果要取出符合需对象以数组的形式排列,如果要取出符合需要的要的cookie对象,就需要循环比较数组内每个对象对象,就需要循环比较数组内每个对象的关键字。基本方法如下:的关键字。基本方法如下: Cookie c=request.getCookies(); if(c!=n
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年教学能手评选课程与教学论真题卷
- 2026年巴中市巴州区网格员考试试题及答案
- 2026年安庆市迎江区社区网格员招录考试真题库(含答案)
- 初中物理八年级下册《定滑轮与动滑轮》作业课教学设计
- 小学四年级英语教学设计:Unit 4 Helping in the community 核心素养导向的单元整体教学设计
- 小学六年级英语教学设计:Unit 3 My School Period 1 核心素养视域下的听说课实践与思考
- 高中地理必修第二册《3.1农业区位因素及其变化》教学设计
- 高中地理选择性必修2 教学设计:生态脆弱区综合治理的区域实践与机理构建
- 小学二年级美术教学设计《环保宣传》深度实施与反思
- 高中地理必修二《工业区位因素与工业布局》基于默写小纸条的深度学习教学设计
- 2026年合肥水务集团有限公司招聘152名笔试模拟试题及答案详解
- 2026中国电商ai应用白皮书-淘天集团
- 《物业设备设施管理(第2版)》-第六章
- 2026年环卫行业分析研究报告
- 【《镁空气电池的研究现状文献综述》2400字】
- 中等职业学校家校社协同育人指南(2025版)
- 2026年国开电大建筑力学形考题库检测模拟题【历年真题】附答案详解
- 教育研究方法(第2版)课件 邵光华 导言及第1-4章 教育研究基本理论 -教育调查研究
- 矿井安全风险监测预警管理制度
- CT防护教学课件
- 教育机构班主任学员管理效果与续费率绩效评定表
评论
0/150
提交评论