JSP程序设计教程(第4章).ppt
《JSP程序设计教程(第4章).ppt》由会员分享,可在线阅读,更多相关《JSP程序设计教程(第4章).ppt(52页珍藏版)》请在三一办公上搜索。
1、JSP程序设计教程,第4 章 JSP内置对象,第 4 章 JSP内置对象,4.1 JSP内置对象概述4.2 request对象4.3 response对象4.4 session对象4.5 application对象4.6 out对象4.7 其他内置对象,4.1 JSP内置对象概述,为了Web应用程序开发的方便,在JSP页面中内置了一些默认的对象,这些对象不需要预先声明就可以在脚本代码和表达式中随意使用。JSP提供的内置对象共有9个,如下表所示。,4.1 JSP内置对象概述,4.1 JSP内置对象概述,request、response和session是JSP内置对象中重要的3个对象,这3个对象体
2、现了服务器端与客户端(即浏览器)进行交互通信的控制,如下图所示。,从该图可以看出,当客户端打开浏览器,在地址栏中输入服务器Web服务页面的地址后,就会显示Web服务器上的网页。客户端的浏览器从Web服务器上获得网页,实际上是使用HTTP协议向服务器端发送了一个请求,服务器在收到来自客户端浏览器发来的请求后要响应请求。JSP通过request对象获取客户浏览器的请求,通过response对客户浏览器进行响应。而session则一直保存着会话期间所需要传递的数据信息。,4.2 request对象,request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HT
3、ML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。,4.2 request对象,4.2.1 访问请求参数4.2.2 在作用域中管理属性4.2.3 获取Cookie4.2.4 获取客户信息4.2.5 访问安全信息4.2.6 访问国际化信息,4.2.1 访问请求参数,在Web应用程序中,经常还需要完成用户与网站的交互。例如,当用户填写表单后,需要把数据提交给服务器处理,服务器获取到这些信息并进行处理。request对象的getParameter()方法,可以用来获取用户提
4、交的数据。访问请求参数的方法如下:,String userName=request.getParameter(name);,参数name与HTML标记name属性对应,如果参数值不存在,则返回一个null值,该方法的返回值为String类型。,【例4-1】访问请求参数示例,4.2.2 在作用域中管理属性,有时,在进行请求转发时,需要把一些数据带到转发后的页面进行处理。这时,就可以使用request对象的setAttribute()方法设置数据在request范围内存取。设置转发数据的方法使用如下:,request.setAttribute(key,Object);,参数key是键,为Strin
5、g类型。在转发后的页面取数据时,就通过这个键来获取数据。参数object是键值,为Object类型,它代表需要保存在request范围内的数据。获取转发数据的方法如下:,request.getAttribute(String name);,4.2.2 在作用域中管理属性,参数name表示键名。在页面使用request对象的setAttribute(name,obj)方法,可以把数据obj设定在request范围内。请求转发后的页面使用使用“getAttribute(name);”就可以取得数据obj。,【例4-2】在作用域中管理属性示例使用request对象的setAttribute()方法设
6、置数据,然后在请求转发后取得设置的数据。,4.2.3 获取Cookie,Cookie为Web应用程序保存用户相关信息提供了一种有用的方法。Cookie是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。例如,当用户访问站点时,可以利用Cookie保存用户首选项或其他信息,这样当用户下次再访问站点时,应用程序就可以检索以前保存的信息。在JSP中,可以通过request对象中的getCookies()方法获取Cookie中的数据。获取Cookie的方法如下:,Cookie cookie=request.getCo
7、okies();,4.2.3 获取Cookie,request对象的getCookies()方法,返回的是Cookie数组。,【例4-3】获取Cookie示例使用request对象的addCookie()方法实现记录本次及上一次访问网页的时间。,4.2.4 获取客户信息,request对象提供了一些用来获取客户信息的方法,如下表所示。,4.2.4 获取客户信息,【例4-4】获取客户信息示例使用request对象的相关方法获取客户信息,,4.2.5 访问安全信息,request对象提供了对安全属性的访问,如下表所示。,例如,可以通过使用request对象来确定当前请求是否使用了一个类似HTTP的
8、安全协议:用户安全信息:,4.2.6 访问国际化信息,浏览器可以通过accept-language的HTTP报头向Web服务器指明它所使用的本地语言。request对象中的getLocale()和getLocales()方法允许JSP开发人员获取这一信息,获取的信息属于java.util.Local类型。java.util.Local类型的对象封装了一个国家和一种国家所使用的语言。使用这些信息,JSP开发者就可以使用语言所特有的信息作出响应。使用这个报头的代码如下:,4.2.6 访问国际化信息,这段代码,如果所在区域为中国,将显示“北京欢迎您”,而所在区域为英国,则显示“Welcome to
9、BeiJing”。,4.3 response对象,response对象和request对象相对应,用于响应客户请求,向客户端输出信息。response对象是javax.servlet.http.HttpServletResponse接口类的对象,它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。请求的数据可以是各种数据类型,甚至是文件。,4.3 response对象,4.3.1 重定向网页4.3.2 设置HTTP响应报头4.3.3 缓冲区配置,4.3.1 重定向网页,在JSP页面中,可以使用response对象中的sendRedirect()方法将客户请求重定向到一个不同的页面。例如
10、,将客户请求转发到login_ok.jsp页面的代码如下:,response.sendRedirect(login_ok.jsp);,在JSP页面中,还可以使用response对象中的sendError()方法指明一个错误状态。该方法接收一个错误以及一条可选的错误消息,该消息将在内容主体上返回给客户。例如,代码“response.sendError(500,请求页面存在错误)”将客户请求重定向到一个在内容主体上包含了出错消息的出错页面。,4.3.1 重定向网页,上述两个方法都会中止当前的请求和响应。如果HTTP响应已经提交给客户,则不会调用这些方法。response对象中用于重定向网页的方法如
11、下表所示。,【例4-5】重定向网页示例使用request对象的相关方法重定向网页。,4.3.2 设置HTTP响应报头,response对象提供了设置HTTP响应报头的方法,如下表所示。,4.3.2 设置HTTP响应报头,技巧:通过设置HTTP头可实现禁用缓存功能,具体代码如下:需要注意的是,上面的代码必须在没有任何输出发送到客户端之前使用。,【例4-6】设置HTTP响应报头示例将JSP页面保存为word文档。,4.3.3 缓冲区配置,缓冲可以更加有效地在服务器与客户之间传输内容。HttpServletResponse对象为支持jspWriter对象而启用了缓冲区配置。response对象提供了
12、配置缓冲区的方法,如下表所示。,4.3.3 缓冲区配置,【例4-7】缓冲区配置示例输出缓冲区的大小并测试强制将缓冲区的内容发送给客户。,4.4 session对象,HTTP协议是一种无状态协议。也就是说,当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就被关闭了,此时服务器端不保留连接的有关信息,因此当下一次连接时,服务器已没有了以前的连接信息,此时将不能判断这一次连接和以前的连接是否属于同一客户。为了弥补这一缺点,JSP提供了一个session对象,这样服务器和客户端之间的连接就会一直保持下去,但是在一定时间内(系统默认在30min内),如果客户端不向服务器发出应答请求,se
13、ssion对象就会自动消失。不过在编写程序时,可以修改这个时间限定值,使session对象在特定时间内保存信息。保存的信息可以是与客户端有关的,也可以是一般信息,这可以根据需要设定相应的内容。,4.4 session对象,4.4.1 创建及获取客户的会话4.4.2 从会话中移除指定的对象4.4.3 销毁session4.4.4 会话超时的管理,4.4.1 创建及获取客户的会话,JSP页面可以将任何对象作为属性来保存。session内置对象使用setAttribute()和getAttribute()方法创建及获取客户的会话。setAttribute()方法用于是设置指定名称的属性值,并将其存储
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 程序设计 教程
链接地址:https://www.31ppt.com/p-5018222.html