JSP内置对象详解

上传人:ji****72 文档编号:50736485 上传时间:2018-08-10 格式:PPT 页数:27 大小:170.50KB
返回 下载 相关 举报
JSP内置对象详解_第1页
第1页 / 共27页
JSP内置对象详解_第2页
第2页 / 共27页
JSP内置对象详解_第3页
第3页 / 共27页
JSP内置对象详解_第4页
第4页 / 共27页
JSP内置对象详解_第5页
第5页 / 共27页
点击查看更多>>
资源描述

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

1、第3章 JSP内置对象详解nJSP基于Java语言,面向对象也是它的一大特色。JSP中包含大量的内 置对象和可扩展的组件对象。可以说,对象是JSP编程技术的精髓。 在这一章中,我们将介绍JSP中的对象,重点讲述JSP的内置对象,说 明它们的功能,并通过示例来介绍它们的使用方法。理论 介绍JSP的内置对象技能能灵活应用JSP的内置对象来开发程序要求掌握JSP的内置对象的用法,基本掌握JSP的开发技 巧3.1 对象与内置对象n 对象是典型的具有方法、属性和集合的事物对象的属性反映了对象的状态,可以读取或设置。对象的集合是 由很多不同的与对象有关系的属性和值的配对组成的。对于一般的对象,要想使用它,

2、必须先声明一个类,再将它实例 化,就会得到一个可以使用的对象。下面我们通过一个例子来讲解一般对象的使用方法。文件useobject.jsp JSP程序中8个默认的内置对象对于它们而言,不用声明就可以直接使用。这8个对象分别是 request、response、pageContext、session、application、out、config 和page。 内置对象 类型 代表内容 范围 Request 依赖协议的 java.servlet.ServletRequest 子 类(例如, javax.servlet.HttpServletReque st)触发服务调用的请求 request re

3、spons e 依赖协议的 java.servlet.ServletResponse 子 类(例如, javax.servlet.HttpServletRespo nse)对请求的应答 page pageCon text Javax.servlet.jsp.PageContext 本 JSP 的页面上下文 page session Javax.servlet.http.HttpSession 为请求的客户创建的session 对象 session applicati on Javax.servlet.ServletContext 从 servlet 配置对象获得的 servlet 上下文(如在

4、 getServletConfig() , getContext()的调用中)applicati on out Javax.servlet.jsp.JspWriter 向输出流写入内容的对象 page config javax.servlet.ServletConfig 本 JSP 的 ServletConfig page page java.1ang.Object 实现处理本页当前请求的类 的实例 page 3.2 request对象n request对象是ServletRequest的一个实例。当客户端请求一个JSP 网页时,JSP引擎会将客户端的请求信息包装在这个request对象中,

5、请求信息的内容包括请求的标题头(Header)、信息(如浏览器的版本信 息、语言和编码方式等),请求的方式(如HTTP方法:GET、POST、 PUT等),请求的参数名称、参数值和客户端的主机名称等,然后将 request对象当作jspService方法的HttpServletRequest参数值,所以我 们可以通过这个对象来取得有关客户端的请求信息。 3.2.1 request对象的方法n 方法 方法 描述 getAttribute 返回请求的给出名字的属性的值 getCharacterEncoding 返回为请求的输入进行编码的字符集合 getContentLength 返回请求实体数据的

6、大小 getContenType 返回请求实体数据的 InternetMedia 类型 getlnputStream 返回在请求体中读取二进制数据的输入流 getParameter 返回包含指定参数的单独值的字符串 getParameterName 返回本次请求的参数名字 getParameterValues 返回作为字符串列举的指定参数的值 getProtocol 返回请求的协议和版本号 getReader 返回从请求体中读取的文本的缓存数据 getRealPath 返回运用替换规则从虚拟地址中获得的实际地址 getRemoteAddr 返回发送请求的接口程序的 IP 地址 getRemot

7、eHost 返回发送请求的接口程序的完全限定的主机名 getScheme 返回发出请求的 URL 的机制 getServerName 返回接收请求的服务器的主机名 getServerPort 返回接收请求的端口 n request对象使用示例1. request对象获取服务器及客户端的信息文件 request1.jsp2. 用request对象来获取和处理表单传过来的参数值(1) 建立HTML表单 (2) 使用GET和POST方法(3) 用request对象处理 用户输入的数据用来存放在request对象里,用 javax.servlet.HttpServletRequest来执行,你可以在J

8、SP代码中直接访问 request对象。并且处理表单传送过来的数据。文件 request3.htm request3.jsp3. 用request对象来获取和处理表单传过来的中文参数值的处理文件 request2.htm request2.jsp 3.3 response对象n response对象的类型是javax.servlet.ServletResponse类的实例, JSP引擎会根据客户端的请求信息建立一个默认的response对象。它用 于将浏览器参考信息,如回应的Header、回应本体(HTML的内容) 以及服务器端的状态码等信息提供给客户端。3.3.1 response对象的方法

9、getCharacterEncoding返回用于MIME编码的字符集合getCharacterEncoding返回用于书写二进制应答数据的输出流getWriter返回用于格式化文本应答的打印程序setContentLength为应答设置内容长度setContentType为应答设置内容类型addCookie添加一个Cookie对象,用来保存客户端的用户信息addHeader添加HTTP文件头(Header),将会传送到客户端containsHeader判断指定的HTTP文件头是否存在sendError向客户端发送错误信息setHeader设定指定名字的HTTP文件头的值sendRedirect

10、重定向客户端的地址3.3.2 response对象使用示例l 下面的示例程序实现了定时刷新页面的功能文件refresh.jsp这个程序指定页面每隔5秒钟自动刷新一遍,服务器重新执行 这个程序,产生新的当前时间,然后输出到客户端。所以,页面 上显示的时间每隔5秒钟就增加5秒钟,实现了类似时钟的功能。 l 下面的示例程序实现了页面重定向功能文件request2.htm输入用户名为admin,进入管理界面;否则,则进入普通用户 界面。3.4 session对象 n session对象是JSP中一个很重要的内部对象,我们使用它来保存 某个特定客户端(访问者)一次访问的一些特定信息。在JSP网络编程中,

11、有多种方法可以保存客户信息,但是最常用 、最实用的还是session对象。 3.4.1 session对象介绍n session对象,实际上就是服务器与客户端之间的“会话”(1) session可以用来储存访问者的一些特定信息。主机服务 器就是根据session来跟踪这些信息的。(2) session可以创建访问者信息容器。(3) session可以用来跟踪访问者的访问路径,从中挖掘有用 的信息,如访问者的兴趣爱好、访问目的。用户在Web应用程序中访问同一页面时,session变量始终存在, 当用户在应用程序的页之间跳转时,存储在session对象中的变量也不 会清除,当然也可以使用sessi

12、on方法显式地结束一个会话和设置空闲 会话的超时期限。n session在JSP程序中是一个内置的对象每一个客户端都有一个session对象用来存放于这个客户端相关的 数据。在JSP的程序中,通常不用任何代码,就可以直接使用session对 象。不过为了确认,可以加入以下代码,以表示需要启动session功能 。 如果设置上述的session值为false,则说明禁用session功能。 session对象的类为HttpSession,它提供了很多使用的方法。3.4.2 session对象的方法n session对象的类是HttpSession。HttpSession由服务器的程序实 现,提供

13、HTTP服务器和HTTP客户端之间的会话。会话,就是在给 定时间段内持续进行多路连接和请求。会话被用来在多页面请求中保 持状态和用户认证。n session对象的常用方法getCreationTime返回会话创建的时间getId返回会话标识符getLastAccessTime返回客户端上一次发送携带会话账号的时间getSessionContext返回会话相连的上下文getValue返回和应用层数据中指定名字相联系的对象getValueNames返回和会话相连的应用层数据对象的名字invalidate使会话无效,并将其从上下文中移出isNew检查是否客户端参加了会话putValue将指定的对象和

14、使用指定名字的会话应用层数据相连removeValue移去和会话应用层数据中指定名字相连的对象3.4.3 session对象使用示例n 为说明session对象的具体应用,以用三个页面模拟一个多页 面的Web应用为例(1) 第一个页面(q1.html)仅包含一个要求输入用户名字的 HTML表单 。 文件q1.htm (2)第二个页面是一个JSP页面(q2.jsp),它通过request对象 提取q1.html表单中的thename值,将它存储为name变量,然后将 这个name值保存到session对象中。q2.jsp的另外一个任务是询问 第二个问题。 (3) 第三个页面也是一个JSP页面(q

15、3.jsp),主要任务是显示 问答结果,另外一个任务是提取在第二个页面中的用户输入并显 示它。 n通常会话管理是通过服务器将SessionID作为一个cookie存储在用户的 Web浏览器中来唯一标识每个用户会话如果浏览器不支持cookie,或者将浏览器设置为不接受 cookie,我们可通过URL重写来实现会话管理。文件hello1.jsp使用session对象在3个不同的JSP文件中保存信息文件example0.htm(在accountBalance中必须输入数字)3.5 application对象n application对象保存了一个应用系统中一些公用的数据。与 session对象相比,

16、application对象是所有客户共享的,而session对象 则是每个客户专用的。application对象可以是 javax.servlet.ServletContext类型的。ServletContext接口让servlet访问 关于其环境的信息。application对象的范围是application。 3.5.1 application对象的方法n方法对象含义getAttribute以Object对象的形式返回对应名称的application对象的属性值getAttributeNames以Enumeration数据形式返回所有application对象的属性名称getInitParameter返回application某个属性的值getServerInfo获得当前版本的Servlet编译器的信息setAttribute设置某个application对象的某个属性值3.5.2 application对象的使用示例n 一个使用了application对象的计数器文件 appcount.jsp应用applic

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

当前位置:首页 > 行业资料 > 其它行业文档

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