第04章JSP内置对象详解

上传人:E**** 文档编号:91543452 上传时间:2019-06-29 格式:PPT 页数:37 大小:907KB
返回 下载 相关 举报
第04章JSP内置对象详解_第1页
第1页 / 共37页
第04章JSP内置对象详解_第2页
第2页 / 共37页
第04章JSP内置对象详解_第3页
第3页 / 共37页
第04章JSP内置对象详解_第4页
第4页 / 共37页
第04章JSP内置对象详解_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《第04章JSP内置对象详解》由会员分享,可在线阅读,更多相关《第04章JSP内置对象详解(37页珍藏版)》请在金锄头文库上搜索。

1、第4章 JSP内置对象详解,本章内容,学习内容 内置对象是JSP中已经创建的、可以在页面的脚本中直接使用的Java对象。 JSP的9个内置对象:request、response、pageContext、session、application、out、config、page、exception 学习重点 理解并能熟练应用: request、response、session、application、out、exception 了解其他的内置对象,4.1 请求对象:request,request对象包含了来自客户端的请求信息:请求来源、标头、Cookie、参数等。 主要通过该对象的方法来处理请求。

2、下面介绍其几种常见用法,说明:参数名与form表单中的name属性对应,或者与提交链接的参数名对应,如果参数值不存在,则返回null值。,(1) 获取单值参数的值,1.获取请求参数,String var=request.getParameter(“参数名“);,HTTP请求中的参数的值均为字符串,对应Java的String类。,(2) 获取多值参数的值,String arr=request.getParameterValues(“参数名“);,例:CH04RequestDemorequest_param,在作用域中管理属性,进行请求转发操作时,把一些数据带到转发后的页面处理。可以使用reque

3、st对象的属性(Attribute)。,设置属性: request.setAttribute(“key”,value);,获取属性: Object object=request.getAttribute(“key”);,获取request的所有属性的名称集的方法: Enumeration names = request.getAttributeNames();,参数key为String类型的属性名 参数value为Object类型的属性值,例:CH04RequestDemorequest_attribute,获取Cookie对象,Cookie是Web应用程序保存用户相关信息提供的一种有效的方法

4、,它是一段文本信息,伴随着用户请求和页面响应在Web服务器和浏览器之间传递。 用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。 在JSP页面中,可以通过requet对象中的如下方法获得所有Cookie,进而读取每个Cookie的名称和值:,Cookie cookie= request.getCookies();,例:CH04RequestDemorequest_cookie,获取客户端信息,request对象的一些方法可以用于确定组成JSP页面的客户端的信息。,例:CH04RequestDemorequest_clientinfo,4.2 响应对象:response,res

5、ponse对象与request对象相反,包含服务器向客户端作出的应答信息。,客户端与服务器端的交互,request对象和response对象的结合可以使JSP更好地实现客户端与服务器的信息交互。用户在客户端浏览器中发出的请求信息被保存在request对象中并发送给Web服务器,JSP引擎根据JSP文件的指示处理request对象,或者根据实际需要将request对象转发给由JSP文件所指定的其他服务器端组件,如Servlet组件、JavaBean组件或EJB组件等。处理结果则以response对象的方式返回给JSP引擎,JSP引擎和Web服务器根据response对象最终生成JSP页面,返回给

6、客户端浏览器,这也是用户最终看到的内容。客户端与服务器端信息交互的流程如图所示。,页面重定向,JSP页面可以使用response对象中的setRedirect()方法将客户请求重定向到一个不同的页面资源。,JSP页面还可以使用response对象中的sendError()方法指明一个错误状态,该方法接受一个错误及一条可选的错误信息。该信息将在内容主体上返回给客户。,上述两个方法都会中止当前的请求和响应。,sendError(int number):使用指定的状态码向客户发送错误响应。 sendError(int number,String msg):使用指定的状态码和描述性消息向客户发送错误响

7、应。 sendRedirect(String location):指定的重定向位置URL并向客户发送重定向响应,可以使用相对URL。,例:CH04ResponseDemoresponse_redirect,缓冲区的输出,缓冲可以有效地在服务器与客户之间传输内容。 HttpServletResponse对象为支持jspWriter对象而启用了缓冲区配置。response对象中的getBufferSize()方法的返回值用于JSP页面的当前缓冲区容量;response对象中的setBufferSize()方法允许JSP页面为响应的主体设置一个首选的输出缓冲区容量。 response对象中用于相应缓

8、冲的方法如下:,flushBuffer() throws IOException:强制把缓冲区中的内容发送给客户。 getBufferSize():返回响应所使用的实际缓冲区大小,如果没使用缓冲区,则该方法返回0。 setBufferSize(int size):为响应的主体设置首选的缓冲区大小。 boolean isCommitted():表示响应是否已经提交,提交的响应已经写入状态码。 reset():清除缓冲区存在的任何数据,同时清除状态码。,response对象常用方法,response对象常用方法如表所示。,4.3 会话对象:session,session对象是java.servle

9、t.http.HttpSession类的子类对象.,理解session,session是用于保存客户信息而分配给客户的对象。 HTTP协议不能保存客户端请求信息的历史记录,为了解决这一问题,生成一个session对象,这样服务器和客户端之间的连接就会一直保持下去。 session的生命同期从客户端进行第1个request开始,到用户结束对应用程序的访问终止,如关闭浏览器等。 session中的ID标识是唯一的,用来标识每个用户,当刷新浏览器时,该标识的值不变。 如果在一定时间内,客户端不向服务器发出应答请求,系统默认在30分钟内,session对象会自动消失。,理解session, 客户端se

10、ssion的ID值: ,程序运行结果如图所示:,session标识可以通过getId()方法得到,具体代码如下:,例:CH04SessionDemosession_introduce,内置对象对通信的控制,resquest、response和session是JSP内置对象中的重要3个对象,这3个对象体现了服务器端与客户端进行交互通信的控制。 resquest、response和session内置对象的通信过程如图所示。,JSP通过request对象控制客户浏览器的请求;通过response对客户浏览器进行响应;而session就维持这个反反复复的过程中会话起见需要传递的数据信息。,管理sess

11、ion的属性,session内置对象可以使用setAttribuete()方法保存对象名和对象的值,如果程序员想要获取到保存到session中的信息,则需要调用getAttribuete()方法进行获取。例如:,java.util.Enumeration getAttributeNames(),通过下面的方法可以获取包含绑定在该session中所有对象的名称。,移除指定session中的对象,JSP页面可以将任何已经保存到session中的对象进行移除操作。session内置对象使用removeAttribute()方法所提供的名称移除,removeAttribute()方法的语法如下:,vo

12、id removeAttribute(java.lang.String name),参数name为String类型的值,代表移除的对象的名称。,session销毁,在JSP页面中,可以通过session对象中的invalidate()方法删除已经保存到session中所有对象。invalidate()方法的语法如下:,void invalidate(),例:CH04SessionDemosession_introduce 第4步,session超时管理,在JSP页面中,确定客户端session是否存在唯一的方法是使用超时设置。这是因为Web客户在进入非活动状态时不通知服务器。为了清除存储在se

13、ssion对象中的客户申请资源,Servlet容器设置一个超时窗口。在非活动的时间超出了窗口的大小时,JSP容器将使session对象无效并撤销所有属性的绑定,从而管理session的声明周期。session对象用于超时管理如表所示。,session实现局部网页计数器,注意:当浏览器关闭时或session过期时,网页访问次数将回到 初始化值。,例:CH04SessionDemocounterbysession.jsp,4.4 多客户端共享对象:application,WEB服务器启动后,部署在该服务器上的WEB应用程序可以开始运行。 每个WEB应用程序开始运行时,会创建唯一的applicati

14、on对象,供所有访问该应用程序的客户端共享。 当应用程序结束时,application对象被销毁。,appliaction对象作用范围,application对象用于管理特定应用系统中所有的公共数据,应用程序启动并自动创建application对象后,只要没有关闭应用程序,appliaction对象一直存在,所有用户可以共享appliaction对象。,在JSP页面中,作用范围的对象分别为page、request、session、application,它们之间的关系如图所示。,application对象常用方法,例:application实现全局网页计数器,注意: (1)当浏览器关闭后,再次

15、访问该网页时,访问次数继续增加。 (2)应用程序重启后,访问计数从1开始。,例:CH04ApplicationDemocounterbyapplication.jsp,课堂思考: 如何实现一个客户会话过程中只在第1次访问该页面时访问次数继续增加,而刷新页面访问次数不增加?,4.5 页面对象:page,page对象的声明类型为java.lang.Object。 它代表JSP本身,即对应的Servlet类的对象。 可执行使用的方法来自Object类. 较少使用.,4.6 页面上下文对象:pageContext,pageContext对象它的作用是取得任何范围的参数,通过pageContext对象可

16、以获取JSP页面的out、request、response、session、application等对象,或者可以重新定向客户的请求等。 较少使用。,4.7 输出对象:out,out对象主要内容是向web浏览器内输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区,缓冲区默认值是8KB。 out对象被封装为javax.servlet.jsp.JspWriter接口,它是JSP编程过程中经常用到的一个对象。 out对象的常用方法如表所示。,4.8 配置对象:config,config对象的主要作用是取得服务器的配置信息。 config对象被封装为javax.servletConfig接口,通过pageContext.getServletConfig()方法可以获取一个config对象。,config对象的常用方法,config对象的常用方法如表所示。,补充:web.xml初步,web.xml JSP应用的部署描述符文件 就像所有XML文件一样,必须以一个XML头开始。这个头声明可以使用的XML版本并给出文件的字符编码。 DOCYTPE

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

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号