JSP内置对象详解 (2)

上传人:xu****iu 文档编号:244686028 上传时间:2024-10-05 格式:PPT 页数:27 大小:260.99KB
返回 下载 相关 举报
JSP内置对象详解 (2)_第1页
第1页 / 共27页
JSP内置对象详解 (2)_第2页
第2页 / 共27页
JSP内置对象详解 (2)_第3页
第3页 / 共27页
点击查看更多>>
资源描述
*,*,单击此处编辑母版标题样式,*,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,第3章 JSP内置对象详解,JSP基于Java语言,面向对象也是它的一大特色。JSP中包含大量的内置对象和可扩展的组件对象。可以说,对象是JSP编程技术的精髓。在这一章中,我们将介绍JSP中的对象,重点讲述JSP的内置对象,说明它们的功能,并通过示例来介绍它们的使用方法。,理论,介绍JSP的内置对象,技能,能灵活应用JSP的内置对象来开发程序,要求,掌握JSP的内置对象的用法,基本掌握JSP的开发技巧,3.1 对象与内置对象,对象是典型的具有方法、属性和集合的事物对象的属性反映了对象的状态,可以读取或设置。对象的集合是由很多不同的与对象有关系的属性和值的配对组成的。对于一般的对象,要想使用它,必须先声明一个类,再将它实例化,就会得到一个可以使用的对象。下面我们通过一个例子来讲解一般对象的使用方法。文件,useobject.jsp,JSP程序中8个默认的内置对象对于它们而言,不用声明就可以直接使用。这8个对象分别是request、response、pageContext、session、application、out、config和page。,内置对象,类型,代表内容,范围,Request,依赖协议的java.servlet.ServletRequest 子类(例如,javax.servlet.HttpServletRequest),触发服务调用的请求,request,response,依赖协议的java.servlet.ServletResponse 子类(例如,javax.servlet.HttpServletResponse),对请求的应答,page,pageContext,Javax.servlet.jsp.PageContext,本 JSP 的页面上下文,page,session,Javax.servlet.http.HttpSession,为请求的客户创建的session对象,session,application,Javax.servlet.ServletContext,从 servlet 配置对象获得的 servlet 上下文(如在 getServletConfig(),getContext()的调用中),application,out,Javax.servlet.jsp.JspWriter,向输出流写入内容的对象,page,config,javax.servlet.ServletConfig,本 JSP 的 ServletConfig,page,page,java.1ang.Object,实现处理本页当前请求的类的实例,page,3.2 request对象,request对象是ServletRequest的一个实例。当客户端请求一个JSP网页时,JSP引擎会将客户端的请求信息包装在这个request对象中,请求信息的内容包括请求的标题头(Header)、信息(如浏览器的版本信息、语言和编码方式等),请求的方式(如HTTP方法:GET、POST、PUT等),请求的参数名称、参数值和客户端的主机名称等,然后将request对象当作jspService方法的HttpServletRequest参数值,所以我们可以通过这个对象来取得有关客户端的请求信息。,3.2.1 request对象的方法,方法,方法,描述,getAttribute,返回请求的给出名字的属性的值,getCharacterEncoding,返回为请求的输入进行编码的字符集合,getContentLength,返回请求实体数据的大小,getContenType,返回请求实体数据的 InternetMedia 类型,getlnputStream,返回在请求体中读取二进制数据的输入流,getParameter,返回包含指定参数的单独值的字符串,getParameterName,返回本次请求的参数名字,getParameterValues,返回作为字符串列举的指定参数的值,getProtocol,返回请求的协议和版本号,getReader,返回从请求体中读取的文本的缓存数据,getRealPath,返回运用替换规则从虚拟地址中获得的实际地址,getRemoteAddr,返回发送请求的接口程序的 IP 地址,getRemoteHost,返回发送请求的接口程序的完全限定的主机名,getScheme,返回发出请求的 URL 的机制,getServerName,返回接收请求的服务器的主机名,getServerPort,返回接收请求的端口,request对象使用示例1.request对象获取服务器及客户端的信息文件,request1.jsp,2.用request对象来获取和处理表单传过来的参数值(1)建立HTML表单(2)使用GET和POST方法(3)用request对象处理 用户输入的数据用来存放在request对象里,用javax.servlet.HttpServletRequest来执行,你可以在JSP代码中直接访问request对象。并且处理表单传送过来的数据。文件,request3.htm,request3.jsp3.用request对象来获取和处理表单传过来的中文参数值的处理文件,request2.htm,request2.jsp,3.3 response对象,response对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的response对象。它用于将浏览器参考信息,如回应的Header、回应本体(HTML的内容)以及服务器端的状态码等信息提供给客户端。,3.3.1 response对象的方法,getCharacterEncoding,返回用于MIME编码的字符集合,getCharacterEncoding,返回用于书写二进制应答数据的输出流,getWriter,返回用于格式化文本应答的打印程序,setContentLength,为应答设置内容长度,setContentType,为应答设置内容类型,addCookie,添加一个Cookie对象,用来保存客户端的用户信息,addHeader,添加HTTP文件头(Header),将会传送到客户端,containsHeader,判断指定的HTTP文件头是否存在,sendError,向客户端发送错误信息,setHeader,设定指定名字的HTTP文件头的值,sendRedirect,重定向客户端的地址,3.3.2 response对象使用示例,下面的示例程序实现了定时刷新页面的功能文件,refresh.jsp,这个程序指定页面每隔,5,秒钟自动刷新一遍,服务器重新执行这个程序,产生新的当前时间,然后输出到客户端。所以,页面上显示的时间每隔,5,秒钟就增加,5,秒钟,实现了类似时钟的功能。,下面的示例程序实现了页面重定向功能文件,request2.htm,输入用户名为,admin,,,进入管理界面;否则,则进入普通用户界面。,3.4 session对象,session对象是JSP中一个很重要的内部对象,我们使用它来保存某个特定客户端(访问者)一次访问的一些特定信息。在JSP网络编程中,有多种方法可以保存客户信息,但是最常用、最实用的还是session对象。,3.4.1 session对象介绍,session对象,实际上就是服务器与客户端之间的“会话”(1)session可以用来储存访问者的一些特定信息。主机服务器就是根据session来跟踪这些信息的。(2)session可以创建访问者信息容器。(3)session可以用来跟踪访问者的访问路径,从中挖掘有用的信息,如访问者的兴趣爱好、访问目的。用户在Web应用程序中访问同一页面时,session变量始终存在,当用户在应用程序的页之间跳转时,存储在session对象中的变量也不会清除,当然也可以使用session方法显式地结束一个会话和设置空闲会话的超时期限。,session在JSP程序中是一个内置的对象每一个客户端都有一个session对象用来存放于这个客户端相关的数据。在JSP的程序中,通常不用任何代码,就可以直接使用session对象。不过为了确认,可以加入以下代码,以表示需要启动session功能。如果设置上述的session值为false,则说明禁用session功能。session对象的类为HttpSession,它提供了很多使用的方法。,3.4.2 session对象的方法,session对象的类是HttpSession。HttpSession由服务器的程序实现,提供HTTP服务器和HTTP客户端之间的会话。会话,就是在给定时间段内持续进行多路连接和请求。会话被用来在多页面请求中保持状态和用户认证。,session对象的常用方法,getCreationTime,返回会话创建的时间,getId,返回会话标识符,getLastAccessTime,返回客户端上一次发送携带会话账号的时间,getSessionContext,返回会话相连的上下文,getValue,返回和应用层数据中指定名字相联系的对象,getValueNames,返回和会话相连的应用层数据对象的名字,invalidate,使会话无效,并将其从上下文中移出,isNew,检查是否客户端参加了会话,putValue,将指定的对象和使用指定名字的会话应用层数据相连,removeValue,移去和会话应用层数据中指定名字相连的对象,3.4.3 session对象使用示例,为说明session对象的具体应用,以用三个页面模拟一个多页面的Web应用为例(1)第一个页面(q1.html)仅包含一个要求输入用户名字的HTML表单。文件,q1.htm,(2)第二个页面是一个JSP页面(q2.jsp),它通过request对象提取q1.html表单中的thename值,将它存储为name变量,然后将这个name值保存到session对象中。q2.jsp的另外一个任务是询问第二个问题。(3)第三个页面也是一个JSP页面(q3.jsp),主要任务是显示问答结果,另外一个任务是提取在第二个页面中的用户输入并显示它。,通常会话管理是通过服务器将SessionID作为一个cookie存储在用户的Web浏览器中来唯一标识每个用户会话如果浏览器不支持cookie,或者将浏览器设置为不接受cookie,我们可通过URL重写来实现会话管理。文件,hello1.jsp,使用session对象在3个不同的JSP文件中保存信息文件,example0.htm,(在accountBalance中必须输入数字),3.5 application对象,application对象保存了一个应用系统中一些公用的数据。与session对象相比,application对象是所有客户共享的,而session对象则是每个客户专用的。application对象可以是javax.servlet.ServletContext类型的。ServletContext接口让servlet访问关于其环境的信息。application对象的范围是application。,3.5.1 application对象的方法,方法,对象,含义,getAttribute,以Object对象的形式返回对应名称的application对象的属性值,getAttributeNames,以Enumeration数据形式返回所有application对象的属性名称,getInitParameter,返回application某个属性的值,getServerInfo,获得当前版本的Servlet编译器的信息,setAttribute,设置某个application对象的某个属性值,3.5.2 application对象的使用示例,一个使用了application对象的计数器文件,appcount.jsp,应用app
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!