jsp内置对象

上传人:第*** 文档编号:49584895 上传时间:2018-07-31 格式:PPT 页数:37 大小:1.01MB
返回 下载 相关 举报
jsp内置对象_第1页
第1页 / 共37页
jsp内置对象_第2页
第2页 / 共37页
jsp内置对象_第3页
第3页 / 共37页
jsp内置对象_第4页
第4页 / 共37页
jsp内置对象_第5页
第5页 / 共37页
点击查看更多>>
资源描述

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

1、JSP程序设计与应用课件 制作人:丁春玲JSP程序设计基础教程第4 章 JSP内置对象课件制作人:丁春玲4.1 JSP内置对象概述为了Web应用程序开发的方便,在JSP页面中内置了一些默认的对象,这些对象不需要预先声明就可以在java脚本代码和表达式中随意使用。JSP提供的内置对象共有9个,常用的有request、response、session、application和out。课件制作人:丁春玲4.1 JSP内置对象概述request、response和session是JSP内置 对象中重要的3个对象,这3个对象体现了服务 器端与客户端(即浏览器)进行交互通信的控 制,如下图所示。客户端的浏

2、览器从Web服务器上获得网页, 实际上是使用HTTP协议向服务器端发送了一 个请求,服务器在收到来自客户端浏览器发来 的请求后要响应请求。JSP通过request对象 获取客户浏览器的请求,通过response对客 户浏览器进行响应。而session则一直保存着 会话期间所需要传递的数据信息。课件制作人:丁春玲4.2 request对象request对象代表从客户端向服务器发出的 请求,封装了由客户端生成的HTTP请求的所有 细节,如用户通过HTML表单提交的数据。在JSP中通过request对象的相关方法来获 取这些数据。request的各种方法主要用来处理 客户端浏览器提交的请求中的各项参

3、数和选项。课件制作人:丁春玲4.2.1 获取访问请求数据在Web应用程序中,当用户填写表单后,需要把 数据提交给服务器处理,服务器获取到这些信息并进 行处理。request对象的getParameter()方法,可以用来 获取用户提交的数据。 例如:访问请求参数的方法如下String userName = request.getParameter(“name“);参数name与HTML标记的name属性对应,该方法的返回 值为String类型,如果参数不存在,则返回一个null,如果参数 值为空,返回一个空字符串“”,。课件制作人:丁春玲4.2.1 获取访问请求数据【例4-1】 访问表单参数示

4、例用户登陆用户名:密码:”);out.print(“密码为:”+password+ “”);%课件制作人:丁春玲4.2.1 获取访问请求数据也可以通过在目标页面文件名后附加参数的方式传递数据验证页verify.jsp文件代码 ”);out.print(“密码为:”+password+ “”);%【例4-2】 访问请求参数示例课件制作人:丁春玲4.2.1 获取访问请求数据请求数据的中文乱码问题:当用户表单提交的的数据或请求参数中有中文时,如果不 处理,获取到的数据将是乱码。一个有效的处理方法是:使用支持中文的编码(如UTF-8,GBK)对 获取到的请求数据重新构造字符串。或者课件制作人:丁春玲4

5、.2.1 获取访问请求数据请求数据的中文乱码问题:还可以通过设置请求的编码,解决请求中的中文乱码request.setCharacterEncoding(“UTF-8“);课件制作人:丁春玲4.2.2 通过request传递数据在进行请求转发时,若需要把一些数据带到转发后的页 面进行处理。可以使用request对象的setAttribute()方 法设置数据在request范围内存取。setAttribute()方法的用法如下:request.setAttribute(String key, Object value);参数key是键,在转发后的页面可以通过这个键来获取数据 。参数object

6、是键值,为Object类型,它代表需要保存在 request范围内的数据。获取转发数据的方法如下:request.getAttribute(String key);课件制作人:丁春玲4.3 response对象4.3.1 页面重定向4.3.2 设置HTTP响应报头response对象和request对象相对应, 它封装 了JSP产生的响应 ,用于响应客户请求,向客户 端输出信息。课件制作人:丁春玲4.3.1 重定向网页在JSP页面中,可以使用response对象中的 sendRedirect()方法将客户请求重定向到另一个页面。例如,将客户请求重定向到login_ok.jsp页面的代码如下:r

7、esponse.sendRedirect(“login_ok.jsp“);在JSP页面中,还可以使用response对象中的sendError() 方法向客户端发送一个错误响应。 例如:response.sendError(500,“请求页面存在错误”) ; 将客户请求重定向到一个在内容主体上包含了出错消息的出错 页面。课件制作人:丁春玲4.3.1 重定向网页response对象中用于重定向网页的方法如下表所示。方 法说 明sendError(int number)使用指定的状态码向客户发送错误响应sendError(int number,String msg)使用指定的状态码和描述性消息向客

8、户 发送错误响应sendRedirect(String location)使用指定的重定向位置URL向客户发送 重定向响应上述方法的调用都会中止当前的请求和响应。课件制作人:丁春玲4.3.1 重定向网页【例4-5】 重定向网页示例Login.jsp实现登陆页面,verify.jsp进行登陆信息验证,并 进行请求重定向,welcome.jsp是登陆成功页面。login.jsp主要代码: 用户登陆用户名:密码:课件制作人:丁春玲4.3.1 重定向网页【例4-5】 重定向网页示例Login.jsp实现登陆页面,verify.jsp进行登陆信息验证,并 进行请求重定向,welcome.jsp是登陆成功

9、页面。verify.jsp主要代码: 课件制作人:丁春玲4.3.1 重定向网页【例4-5】 重定向网页示例Login.jsp实现登陆页面,verify.jsp进行登陆信息验证,并 进行请求重定向,welcome.jsp是登陆成功页面。welcome.jsp主要代码: 欢迎登录,您的密码是 课件制作人:丁春玲4.3.1 重定向网页【例4-5】 重定向网页示例课件制作人:丁春玲4.3.1 重定向网页【例4-5】 重定向网页示例重定向时,request对象中原来的信息会全部丢弃, 并重新生成一个request对象。修改verify.jsp代码为: 课件制作人:丁春玲4.3.2 设置HTTP响应报头r

10、esponse对象提供了一系列设置HTTP响应报头 的方法,如下表所示:方 法说 明setDateHeader(String name,long date)使用给定的名称和日期值设置一个响应报头,如果指定的名称已经设 置,则新值会覆盖旧值setHeader(String name,String value)使用给定的名称和值设置一个响应报头,如果指定的名称已经设置, 则新值会覆盖旧值setHeader(String name,int value)使用给定的名称和整数值设置一个响应报头,如果指定的名称已经设 置,则新值会覆盖旧值addHeader(String name,long date)使用

11、给定的名称和值设置一个响应报头addDateHeader(String name,long date)使用给定的名称和日期值设置一个响应报头containHeader(String name)返回一个布尔值,它表示是否设置了已命名的响应报头addIntHeader(String name,int value)使用给定的名称和整数值设置一个响应报头setContentType(String type)为响应设置内容类型,其参数值可以为text/html,text/plain, application/x_msexcel或application/mswordsetContentLength(int

12、 len)为响应设置内容长度 setLocale(java.util.Locale loc)为响应设置地区信息课件制作人:丁春玲4.3.2 设置HTTP响应报头【例4-6】 设置HTTP响应报头示例将JSP页面保存为word文档。平平淡淡才是真!快快乐乐才是福!课件制作人:丁春玲4.3.2 设置HTTP响应报头【例4-6】 设置HTTP响应报头示例将JSP页面保存为word文档。课件制作人:丁春玲4.4 session对象HTTP协议是一种无状态协议。当一个客户向服务器发 出请求,服务器接收请求,并返回响应后,该连接就被关闭 了,此时服务器端不保留连接的有关信息,因此当下一次连 接时,服务器将

13、不能判断这一次连接和以前的连接是否属于 同一客户。为了弥补这一缺点,JSP提供了一个session对象,用 于保持服务器和客户端之间的连接。但是在一定时间内(系 统默认在30min内),如果客户端不向服务器发出访问请求 ,session对象就会自动消失。在编写程序时,可以修改这 个时间限定值,使session对象在特定时间内保存信息。课件制作人:丁春玲4.4 session对象4.4.1 在session中保存对象4.4.2 从会话中移除指定的对象4.4.3 销毁session4.4.4 会话超时的管理课件制作人:丁春玲4.4.1在session中保存对象JSP页面可以将任何对象作为属性保存在

14、session对象中 。setAttribute()方法用于将数据对象以指定的名称存储在 session对象中,其语法格式如下:session.setAttribute(String name, Object value);参数name为属性名称,value为属性值。getAttribute()方法用于是获取与指定名字name相联系的对象, 其语法格式如下:session.getAttribute(String name);课件制作人:丁春玲4.4.1在session中保存对象【例4-8】 创建及获取客户会话示例在例4-5中,通过 response.sendRedirect(“welcome.

15、jsp”)进行重定向时, 可以通过把用户名name和密码pswd存储在session中,传 递到目标页面welcome.jsp。verify.jsp代码修改为如下:welcome.jsp代码修改为如下:欢迎登录,您的密码是 课件制作人:丁春玲4.4.2 从会话中移除指定的对象JSP中可以通过session对象的removeAttribute() 方法将所指定名称的对象从会话中移除。removeAttribute()方法的语法格式如下:session.removeAttribute (String name);参数name为要移除的对象的属性名。课件制作人:丁春玲4.4.2 从会话中移除指定的对

16、象【例4-9】 从会话中移除指定对象示例Index.jsp文件代码: deal.jsp文件代码:课件制作人:丁春玲4.4.3 销毁sessionJSP页面中,可以通过session对象的invalidate() 方法来销毁session,使session失效,同时session中 的全部内容都将被清除。invalidate()方法的语法格式如下:session.invalidate();使session失效的三种情况: 1. 调用invalidate 方法 2. 超时 3. 应用部署取消或死亡课件制作人:丁春玲4.4.4 会话超时的管理使用会话超时设置可以管理session的生命周期。Web客户在进入非活动状态时不以显示的方式通知服务器。为了清除存储在session对象中的客户申请资源,Servlet容器设置一个超时窗口。当客户非活动状态的时间超出了窗口的大小时, Servlet容器将使session对象无效并撤销所有属性的绑定,从而管理会话的生命周期,同时也保证了会话

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 办公文档 > 解决方案

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