




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1页第5章JSP内置对象
本章概述本章的学习目标主要内容第2页本章概述JSP内置对象,也叫隐含对象,是指在JSP页面系统中已经默认内置的Java对象,这些对象不需要开发人员显示声明即可使用,即所有的JSP代码都可以直接访问JSP的内置对象。本章将对JSP提供的9个内置对象进行详细介绍。第3页本章的学习目标获取访问请求参数和表单提交的信息通过request对象进行数据传递获取客户端信息和cookie应用response对象实现重定向页面向客户端输出数据创建及获取客户的会话从会话中移除指定的对象设置session的有效时间以及销毁session应用application实现网页计数器使用exception对象获取异常信息第4页主要内容5.1JSP内置对象的概述
5.2request对象
5.3response对象
5.4session对象
5.5application对象
5.6out对象
5.7其他内置对象
5.8本章小结
第5页5.1JSP内置对象的概述
5.1.1JSP内置对象5.1.2JSP内置对象作用域第6页5.1.1JSP内置对象内置对象所属类型说明作用范围pagejava.lang.Object当前JSP页面Pagerequestjavax.servlet.HttpServletRequest由用户提交请求而触发的request对象Requestsessionjavax.servlet.http.HttpSession会话对象,在发生HTTP请求时被创建Sessionapplicationjavax.servlet.ServletContext调用getServletConfig()或getContext()方法后返回的ServletContext对象Applicationresponsejavax.servlet.HttpServletResponse由用户提交请求而触发的response对象Pageoutjava.servlet.jsp.JspWriter输出流的JspWriter对象,用来向客户端输出各种格式的数据,并管理服务器上的输出缓冲区Pageconfigjavax.servlet.ServletConfig为当前页面配置JSP的ServletPageexceptionjava.lang.Throwable访问当前页面时产生的不可预见的异常PagepageContextjavax.servlet.jsp.PageContext提供了对JSP页面内所有的对象及名字空间的访问,也就是说,它可以访问到本页所在的会话、应用,它相当于页面中所有功能的集大成者Page第7页主要内容5.1JSP内置对象的概述
5.2request对象
5.3response对象
5.4session对象
5.5application对象
5.6out对象
5.7其他内置对象
5.8本章小结
第8页5.2request对象5.2.1访问请求参数5.2.2在作用域中管理属性5.2.3获取cookie5.2.4解决中文乱码5.2.5获取客户端信息5.2.6显示国际化信息第9页5.2.1访问请求参数request对象封装了由客户端生成的HTTP请求,包括HTTP头信息、系统信息、请求方式和请求参数等。request对象的方法用于处理客户端提交的HTTP请求参数。request对象处理HTTP请求中的各项参数时,最常见的是获取请求参数。当通过超链接形式发送请求时,若要传递参数,可以在超链接之后加上英文半角的问号“?”来实现。在使用request的getParameter()方法获取传递过来的参数值时,如果指定的参数不存在,将返回null;如果指定了参数名,但未指定参数值,将返回空的字符串""。第10页5.2.2在作用域中管理属性在进行请求转发时,需要把一些数据传递到目标页面进行处理。这时可以使用request对象的setAttribute()方法将数据保存到request变量中,语法格式如下:request.setAttribute(Stringname,Objectobject);在将数据保存到request范围内的变量后,可以通过request对象的getAttribute()方法获得该变量的值,语法格式如下:request.getAttribute(Stringname);第11页5.2.3获取cookie在JSP技术中,cookie提供了3个常用方法:getCookies()、getName()和getValue()。getCookies():获取所有cookie对象的集合。getName():获取指定名称的cookie。getValue():获取cookie对象的值。若要将一个cookie对象发送到客户端,使用response对象的addCookie()方法。第12页5.2.4解决中文乱码要解决中文乱码问题,就要保持编码一致,将获取到的数据通过String的构造方法使用指定的编码类型重新构造一个String对象,即可正确地显示出中文信息。第13页5.2.5获取客户端信息通过request对象可以获取客户端信息。例如,HTTP报头信息、客户信息提交方式、客户端主机IP地址、端口号等。request对象的常用方法如表所示。方法说明getHeader(Stringname)获得HTTP协议定义的文件头信息getHeaders(Stringname)返回指定名称的requestHeader的所有值,结果是一个枚举型的实例getHeadersNames()返回所有requestHeader的名称,结果是一个枚举型的实例getMethod()获得客户端向服务器端传送数据的方法,如get、post、header、trace等getProtocol()获得客户端向服务器端传送数据所依据的协议名称getRequestURI()获得发出请求字符串的客户端地址,不包括请求的参数getRequestURL()获取发出请求字符串的客户端地址getRealPath()返回当前请求文件的绝对路径getRemoteAddr()获取客户端的IP地址getRemoteHost()获取客户端的主机名getServerName()获取服务器的名字getServerPath()获取客户端所请求的脚本文件的文件路径getServerPort()获取服务器的端口号第14页5.2.6显示国际化信息浏览器可以通过accept-language的HTTP报头向Web服务器指明它所使用的本地语言。Web服务器端可以通过request对象的getLocale()和getLocales()方法获取这一信息,获取到的信息属于java.util.Local类型。java.util.Local类型的对象封装了一个国家所使用的语言。<% java.util.Localelocale=request.getLocale(); Stringhello=""; if(locale.equals(java.util.Locale.US)){ hello="Hello,welcometoaccess!"; } if(locale.equals(java.util.Locale.CHINA)){ hello="您好,欢迎访问!"; }%><%=hello%>第15页主要内容5.1JSP内置对象的概述
5.2request对象5.3response对象5.4session对象
5.5application对象
5.6out对象
5.7其他内置对象
5.8本章小结
第16页5.3response对象5.3.1重定向网页5.3.2处理HTTP文件头5.3.3设置输出缓冲第17页5.3.1重定向网页使用response对象的sendRedirect()方法可以将网页重定向到另一个页面。sendRedirect()方法的语法格式如下:response.sendRedirect(Stringpath);第18页5.3.2处理HTTP文件头通过response对象可以设置HTTP响应报头,其中,最常用的是禁用缓存、设置页面自动刷新和定时跳转网页。1.禁用缓存:response.setHeader("Cache-Control","no-store");2.设置页面自动刷新:response.setHeader("refresh","10");3.定时跳转网页response.setHeader("refresh","5;URL=redirect_to.jsp");第19页5.3.3设置输出缓冲把缓冲区内容写到客户端,通过调用response对象的flushBuffer()方法或out对象的flush()方法来实现。response对象提供的对缓冲区进行配置的常用方法如表所示。方法说明flushBuffer()强制将缓冲区的内容输出到客户端getBufferSize()获取响应所使用的缓冲区的实际大小。如果没有使用缓冲区,则返回0setBufferSize(intsize)设置缓冲区的大小reset()清除缓冲区的内容,同时清除状态码和报头isCommitted()检测服务器端是否已经把数据写入到了客户端第20页主要内容5.1JSP内置对象的概述
5.2request对象5.3response对象5.4session对象
5.5application对象
5.6out对象
5.7其他内置对象
5.8本章小结
第21页5.4session对象5.4.1创建及获取客户的会话5.4.2从会话中移动指定的绑定对象5.4.3销毁session5.4.4会话超时的管理5.4.5session对象的应用第22页5.4.1创建及获取客户的会话通过session对象可以存储或读取客户相关的信息,例如,用户登录、订单等信息,这可以通过session对象的setAttribute()、getAttribute()方法实现。第23页5.4.2从会话中移动指定的绑定对象移除session变量,使用removeAttribute()方法,语法格式如下:removeAttribute(Stringname)第24页5.4.3销毁session销毁session变量通过invalidate()方法实现,语法格式如下:session.invalidate();第25页5.4.4会话超时的管理session对象提供的有关会话生命周期的常用方法如下。getLastAccessedTime():返回客户端最后一次与会话相关联的请求时间。getMaxInactiveInterval():以秒为单位返回一个会话内两个请求最大时间间隔。setMaxInactiveInterval():以秒为单位设置session的有效时间。第26页主要内容5.1JSP内置对象的概述
5.2request对象5.3response对象5.4session对象5.5application对象
5.6out对象
5.7其他内置对象
5.8本章小结
第27页5.5application对象application对象用于保存应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁时,所有用户都可以共享该application对象。与session对象相比,application对象的生命周期更长,类似于系统的“全局变量”。application对象提供了对应用程序初始化参数进行访问的方法。应用程序初始化参数在web.xml文件中进行设置。application对象提供了以下两种访问应用程序初始化参数的方法:getInitParameter()方法getAttributeNames()方法第28页5.5application对象application对象管理应用程序环境属性的常用方法如下。getAttributeNames():获得所有application对象使用的属性名。getAttribute(Stringname):从application对象中获取指定对象名。setAttribute(Stringkey,Objectobj):使用指定名称和指定对象在application对象中关联。removeAttribute(Stringname):从application对象中移除指定名称的属性。第29页主要内容5.1JSP内置对象的概述
5.2request对象5.3response对象5.4session对象5.5application对象5.6out对象
5.7其他内置对象
5.8本章小结
第30页5.6out对象向客户端输出数据:out对象可以输出各种类型的数据,在输出非字符串类型的数据时,会自动将数据转换为字符串进行输出。另外,out对象提供了print()和println()两个方法向页面输出信息。管理响应缓冲:out对象还提供了用于管理缓冲区的其他方法,如表所示。方法说明clear()清除缓冲区中的内容clearBuffer()清除当前缓冲区中的内容flush()刷新流isAutoFlush()检测当前缓冲区已满时是自动清空,还是抛出异常getBufferSize()获取缓冲区的大小第31页主要内容5.1JSP内置对象的概述
5.2request对象5.3response对象5.4session对象5.5application对象5.6out对象5.7其他内置对象
5.8本章小结
第32页5.7其他内置对象5.7.1pageContext对象 5.7.2config对象 5.7.3page对象5.7.4exception对象第33页5.7.1pageContext对象pageContext对象用于获取页面上下文。JSP页面可以直接使用pageContext对象,该对象的常用方法如表所示。方法说明forward(java.lang.StringrelativeUtlpath)把页面转发到另一个页面getAttribute(Stringname)获取参数值getAttributeNamesInScope(intscope)获取某范围的参数名称的集合,返回值为java.util.Enumeration对象getException()返回exception对象getRequest()返回request对象getResponse()返回response对象getSession()返回session对象getOut()返回out对象getApplication()返回application对象setAttribute()为指定范围内的属性设置属性值removeAttribute()删除指定范围内的指定属性第34页5.7.1pageContext对象pageContext对象用于获取页面上下文。JSP页面可以直接使用pageContext对象,该对象的常用方法如表所示。方法说明forward(java.lang.StringrelativeUtlpath)把页面转发到另一个页面getAttribute(Stringname)获取参数值getAttributeNamesInScope(intscope)获取某范围的参数名称的集合,返回值为java.util.Enumeration对象getException()返回exception对象getRequest()返回request对象getResponse()返回response对象getSession()返回session对象getOut()返回out对象getApplication()返回application对象setAttribute()为指定范围内的属性设置属性值removeAttribute()删除指定范围内的指定属性第35页5.7.2config对象config对象主要用于获取服务器的配置信息。方法说明getServletContext()获取Servlet上下文getServletName()获取Servlet服务器名getInitParameter()获取服务器所有初始参数名称,返回值为java.util.Enumeration对象getInitParameterNames()获取服务器中name参数的初始值第36页5.7.2config对象config对象主要用于获取服务器的配置信息。方法说明getServletContext()获取Servlet上下文getServletName()获取Servlet服务器名getInitParameter()获取服务器所有初始参数名称,返回值为java.util.Enumeration对象getInitParameterNames()获取服务器中name参数的初始值第37页5.7.3
page对象page对象代表JSP页面本身。page对象本质上是包含当前Servlet接口引用的变量,可以看作是this关键字的别名。page对象的常用方法如表所示。方法说明getClass()返回当前Object的类hashCode()返回该Object的哈希代码toString()把该Object类转换成字
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 销售地暖合同协议书模板
- 私人房修建合同协议书
- 理赔服务合同协议书模板
- 主播的品牌塑造与粉丝经济发展
- 简单护工合同协议书
- 合同撤资协议书模板图片
- 核酸采购合同协议书模板
- 工装材料买卖合同协议书
- 江苏省苏州市苏州工业园区星海实验高级中学2024-2025学年高一下学期5月月考物理试卷
- 租库房合同协议书怎么写
- 《畜禽生产技术》复习试题及答案
- 2024山西省文化旅游投资控股集团有限公司招聘笔试参考题库附带答案详解
- (正式版)SHT 3075-2024 石油化工钢制压力容器材料选用规范
- MOOC 航空航天材料概论-南京航空航天大学 中国大学慕课答案
- (2024年)幼儿园营养膳食
- 慕思广告策略与实施报告完整版
- 第7章 显微镜下常见矿物特征
- 尿毒症心衰的护理查房课件
- 人工智能在医疗领域的应用
- 三次元MSA测量系统分析报告72121312
- 2023国家开放大学《经济学基础》形考任务1-4参考答案
评论
0/150
提交评论