欢迎来到三一文库! | 帮助中心 三一文库31doc.com 一个上传文档投稿赚钱的网站
三一文库
全部分类
  • 研究报告>
  • 工作总结>
  • 合同范本>
  • 心得体会>
  • 工作报告>
  • 党团相关>
  • 幼儿/小学教育>
  • 高等教育>
  • 经济/贸易/财会>
  • 建筑/环境>
  • 金融/证券>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 三一文库 > 资源分类 > PPT文档下载
     

    JSP程序设计教程(第4章).ppt

    • 资源ID:2201921       资源大小:861.51KB        全文页数:52页
    • 资源格式: PPT        下载积分:8
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录   微博登录  
    二维码
    微信扫一扫登录
    下载资源需要8
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    JSP程序设计教程(第4章).ppt

    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个对象体现了服务器端与客户端(即浏览器)进行交互通信的控制,如下图所示。,从该图可以看出,当客户端打开浏览器,在地址栏中输入服务器Web服务页面的地址后,就会显示Web服务器上的网页。客户端的浏览器从Web服务器上获得网页,实际上是使用HTTP协议向服务器端发送了一个请求,服务器在收到来自客户端浏览器发来的请求后要响应请求。JSP通过request对象获取客户浏览器的请求,通过response对客户浏览器进行响应。而session则一直保存着会话期间所需要传递的数据信息。,4.2 request对象,request对象是从客户端向服务器发出请求,包括用户提交的信息以及客户端的一些信息。客户端可通过HTML表单或在网页地址后面提供参数的方法提交数据,然后通过request对象的相关方法来获取这些数据。request的各种方法主要用来处理客户端浏览器提交的请求中的各项参数和选项。,4.2 request对象,4.2.1 访问请求参数 4.2.2 在作用域中管理属性 4.2.3 获取Cookie 4.2.4 获取客户信息 4.2.5 访问安全信息 4.2.6 访问国际化信息,4.2.1 访问请求参数,在Web应用程序中,经常还需要完成用户与网站的交互。例如,当用户填写表单后,需要把数据提交给服务器处理,服务器获取到这些信息并进行处理。request对象的getParameter()方法,可以用来获取用户提交的数据。 访问请求参数的方法如下:,String userName = request.getParameter(“name“);,参数name与HTML标记name属性对应,如果参数值不存在,则返回一个null值,该方法的返回值为String类型。,【例4-1】 访问请求参数示例,4.2.2 在作用域中管理属性,有时,在进行请求转发时,需要把一些数据带到转发后的页面进行处理。这时,就可以使用request对象的setAttribute()方法设置数据在request范围内存取。 设置转发数据的方法使用如下:,request.setAttribute(“key“, Object);,参数key是键,为String类型。在转发后的页面取数据时,就通过这个键来获取数据。参数object是键值,为Object类型,它代表需要保存在request范围内的数据。 获取转发数据的方法如下:,request.getAttribute(String name);,4.2.2 在作用域中管理属性,参数name表示键名。 在页面使用request对象的setAttribute(“name“,obj)方法,可以把数据obj设定在request范围内。请求转发后的页面使用使用“getAttribute(“name“);”就可以取得数据obj。,【例4-2】 在作用域中管理属性示例 使用request对象的setAttribute()方法设置数据,然后在请求转发后取得设置的数据。,4.2.3 获取Cookie,Cookie为Web应用程序保存用户相关信息提供了一种有用的方法。Cookie是一小段文本信息,伴随着用户请求和页面在Web服务器和浏览器之间传递。 用户每次访问站点时,Web应用程序都可以读取Cookie包含的信息。例如,当用户访问站点时,可以利用Cookie保存用户首选项或其他信息,这样当用户下次再访问站点时,应用程序就可以检索以前保存的信息。 在JSP中,可以通过request对象中的getCookies()方法获取Cookie中的数据。获取Cookie的方法如下:,Cookie cookie = request.getCookies();,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的安全协议: 用户安全信息:,4.2.6 访问国际化信息,浏览器可以通过accept-language的HTTP报头向Web服务器指明它所使用的本地语言。request对象中的getLocale()和getLocales()方法允许JSP开发人员获取这一信息,获取的信息属于java.util.Local类型。java.util.Local类型的对象封装了一个国家和一种国家所使用的语言。使用这些信息,JSP开发者就可以使用语言所特有的信息作出响应。使用这个报头的代码如下:,4.2.6 访问国际化信息,这段代码,如果所在区域为中国,将显示“北京欢迎您”,而所在区域为英国,则显示“Welcome to 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()方法将客户请求重定向到一个不同的页面。例如,将客户请求转发到login_ok.jsp页面的代码如下:,response.sendRedirect(“login_ok.jsp“);,在JSP页面中,还可以使用response对象中的sendError()方法指明一个错误状态。该方法接收一个错误以及一条可选的错误消息,该消息将在内容主体上返回给客户。例如,代码“response.sendError(500,“请求页面存在错误“)”将客户请求重定向到一个在内容主体上包含了出错消息的出错页面。,4.3.1 重定向网页,上述两个方法都会中止当前的请求和响应。如果HTTP响应已经提交给客户,则不会调用这些方法。response对象中用于重定向网页的方法如下表所示。,【例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对象提供了配置缓冲区的方法,如下表所示。,4.3.3 缓冲区配置,【例4-7】 缓冲区配置示例 输出缓冲区的大小并测试强制将缓冲区的内容发送给客户。,4.4 session对象,HTTP协议是一种无状态协议。也就是说,当一个客户向服务器发出请求,服务器接收请求,并返回响应后,该连接就被关闭了,此时服务器端不保留连接的有关信息,因此当下一次连接时,服务器已没有了以前的连接信息,此时将不能判断这一次连接和以前的连接是否属于同一客户。为了弥补这一缺点,JSP提供了一个session对象,这样服务器和客户端之间的连接就会一直保持下去,但是在一定时间内(系统默认在30min内),如果客户端不向服务器发出应答请求,session对象就会自动消失。不过在编写程序时,可以修改这个时间限定值,使session对象在特定时间内保存信息。保存的信息可以是与客户端有关的,也可以是一般信息,这可以根据需要设定相应的内容。,4.4 session对象,4.4.1 创建及获取客户的会话 4.4.2 从会话中移除指定的对象 4.4.3 销毁session 4.4.4 会话超时的管理,4.4.1 创建及获取客户的会话,JSP页面可以将任何对象作为属性来保存。session内置对象使用setAttribute()和getAttribute()方法创建及获取客户的会话。 setAttribute()方法用于是设置指定名称的属性值,并将其存储在session对象中,其语法格式如下:,session.setAttribute(String name,String value);,参数name为属性名称,value为属性值。,getAttribute()方法用于是获取与指定名字name相联系的属性,其语法格式如下:,session.getAttribute(String name);,4.4.1 创建及获取客户的会话,参数name为属性名称。,【例4-8】 创建及获取客户会话示例 通过setAttribute()方法将数据保存在session中,并通过getAttribute()方法取得数据的值。,4.4.2 从会话中移除指定的对象,JSP页面可以将任何已经保存的对象进行移除。session内置对象使用removeAttribute()方法将所指定名称的对象移除,也就是说,从这个会话删除与指定名称绑定的对象。removeAttribute()方法的语法格式如下:,session.removeAttribute (String name);,参数name为session对象的属性名,代表要移除的对象名。,【例4-9】 从会话中移除指定对象示例 通过setAttribute()方法将数据保存在session中,然后通过removeAttribute()方法移除指定对象。,4.4.3 销毁session,JSP页面可以将已经保存的所有对象全部删除。session内置对象使用invalidate()方法将会话中的全部内容删除。invalidate()方法的语法格式如下:,session.invalidate();,4.4.4 会话超时的管理,在一个Servlet程序或JSP文件中,确保客户会话终止的唯一方法使用超时设置。这是因为Web客户在进入非活动状态时不以显示的方式通知服务器。为了清除存储在session对象中的客户申请资源,Servlet程序容器设置一个超时窗口。当非活动的时间超出了窗口的大小时,JSP容器将使session对象无效并撤销所有属性的绑定,从而管理会话的生命周期。,4.4.4 会话超时的管理,session对象用于管理会话生命周期的方法如下表所示。,4.5 application对象,application对象用于保存所有应用程序中的公有数据,服务器启动并且自动创建application对象后,只要没有关闭服务器,application对象将一直存在,所有用户可以共享application对象。application对象与session对象有所区别,session对象和用户会话相关,不同用户的session是完全不同的对象,而用户的application对象都是相同的一个对象,即共享这个内置的application对象。,4.5 application对象,4.5.1 访问应用程序初始化参数 4.5.2 管理应用程序环境属性,通过application对象调用的ServletContext对象提供了对应用程序环境属性的访问。对于将安装信息与给定的应用程序关联起来而言,这是非常有用的。例如,通过初始化信息为数据库提供了一个主机名,每一个Servlet程序客户和JSP页面都可以使用它连接到该数据库并检索应用程序数据。为了实现这个目的,Tomcat使用了web.xml文件,它位于应用程序环境目录下的WEB-INF子目录中。,4.5.1 访问应用程序初始化参数,4.5.1 访问应用程序初始化参数,访问应用程序初始化参数的方法如下表所示。,【例4-10】 访问应用程序初始化参数示例 通过application对象调用web.xml文件的初始化参数。,与session对象相同,也可以在application对象中设置属性。在session中设置的属性只是在当前客户的会话范围内容有效,客户超过保存时间不发送请求时,session对象将被回收,而在application对象中设置的属性在整个应用程序范围内是有效的,即使所有的用户都不发送请求,只要不关闭应用服务器,在其中设置的属性仍然是有效的。,4.5.2 管理应用程序环境属性,【例4-11】 管理应用程序环境属性示例 通过application对象中的setAttribute()和getAttribute()方法实现网页计数器。,4.5.2 管理应用程序环境属性,application对象管理应用程序环境属性的方法如下表所示。,4.6 out对象,out对象主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区,缓冲区默认值一般是8KB,可以通过页面指令page来改变默认值。在使用out对象输出数据时,可以对数据缓冲区进行操作,及时清除缓冲区中的残余数据,为其他的输出让出缓冲空间。待数据输出完毕后,要及时关闭输出流。out对象被封装为javax.servlet.jsp.JspWriter类的对象,在实际上应用上out对象会通过JSP容器变换为java.io.PrintWriter类的对象。,4.6 out对象,4.6.1 管理响应缓冲 4.6.2 向客户端输出数据,在JSP页面中,可以通过out对象调用clear()方法清除缓冲区的内容。这类似于重置响应流,以便重新开始操作。如果响应已经提交,则会有产生IOException异常的副作用。相反,另一个种方法clearBuffer()清除缓冲区的“当前”内容,而且即使内容已经提交给客户端,也能够访问该方法。out对象用于管理响应缓冲区的方法如下表所示。,4.6.1 管理响应缓冲,out对象用于管理响应缓冲区的方法如下表所示。,4.6.1 管理响应缓冲,out对象的另外一个很重要的功能就是向客户写入内容。由于JspWriter是由java.io.Writer派生而来,因此它的使用与java.io.Writer很相似。例如在JSP页面中输出一句话,代码如下:,4.6.2 向客户端输出数据,这句代码用于在页面中输出“同一世界,同一梦想”。,4.7 其他内置对象,4.7.1 获取会话范围的pageContext对象 4.7.2 读取web.xml配置信息的config对象 4.7.3 应答或请求的page对象 4.7.4 获取异常信息的exception对象,在JSP内置对象中,pageContext,config,page及exception这些对象是不经常使用的,下面将对这些对象分别进行介绍。,4.7.1 获取会话范围的pageContext对象,pageContext对象是一个比较特殊的对象。它相当于页面中所有其他对象功能的最大集成者,使用它可以访问到本页中所有其他对象。pageContext对象被封装成javax.servlet.jsp.pageContext接口,主要用于管理对属于JSP中特殊可见部分中已经命名对象的访问,它的创建和初始化都是由容器来完成的,JSP页面里可以直接使用pageContext对象的句柄,pageContext对象的getXxx()、setXxx()和findXxx()方法可以用来根据不同的对象范围实现对这些对象的管理。,4.7.1 获取会话范围的pageContext对象,pageContext对象的常用方法如下表所示。,4.7.1 获取会话范围的pageContext对象,说明:pageContext对象在实际JSP开发过程中很少使用,因为request和response等对象可以直接调用方法进行使用,如果通过pageContext来调用其他对象有些麻烦。,4.7.2 读取web.xml配置信息的config对象,config对象被封装成javax.servlet.ServletConfig接口,它表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet。开发者可以在web.xml文件中为应用程序环境中的Servlet程序和JSP页面提供初始化参数。 config对象的常用方法如下表所示。,4.7.3 应答或请求的page对象,page对象是为了执行当前页面应答请求而设置的Servlet类的实体,即显示JSP页面自身,只有在JSP页面内才是合法的。page隐含对象本质上包含当前Servlet接口引用的变量,可以看作是this变量的别名,因此该对象对于开发JSP比较有用。 page对象比较常用的方法如下表所示。,4.7.4 获取异常信息的exception对象,exception内置对象用来处理JSP文件执行时发生的所有错误和异常。exception对象和Java的所有对象一样,都具有系统的继承结构,exception对象几乎定义了所有异常情况,这样的exception对象和我们常见的错误有所不同。所谓错误,指的是可以预见的,并且知道如何解决的情况,一般在编译时可以发现。 与错误不同,异常是指在程序执行过程中不可预料的情况,由潜在的错误机率导致,如果不对异常进行处理,程序会崩溃。在Java中,利用 “try/catch”关键字来处理异常情况,如果在JSP页面中出现没有捕捉到的异常,就会生成exception对象,并把这个exception对象传送到在page指令中设定的错误页面中,然后在错误提示页面中处理相应的exception对象。exception对象只有在错误页面(在页面指令里有isErrorPage=true的页面)才可以使用。,4.7.4 获取异常信息的exception对象,exception对象比较常用的方法如下表所示。,【例4-12】 获取异常信息的exception对象示例 通过exception异常对象将系统出现的异常转向到其他页面。,

    注意事项

    本文(JSP程序设计教程(第4章).ppt)为本站会员(本田雅阁)主动上传,三一文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    经营许可证编号:宁ICP备18001539号-1

    三一文库
    收起
    展开