《JSP内置对象详解》PPT课件.ppt

上传人:za****8 文档编号:13337929 上传时间:2020-06-15 格式:PPT 页数:27 大小:297.46KB
返回 下载 相关 举报
《JSP内置对象详解》PPT课件.ppt_第1页
第1页 / 共27页
《JSP内置对象详解》PPT课件.ppt_第2页
第2页 / 共27页
《JSP内置对象详解》PPT课件.ppt_第3页
第3页 / 共27页
点击查看更多>>
资源描述
第3章JSP内置对象详解,JSP基于Java语言,面向对象也是它的一大特色。JSP中包含大量的内置对象和可扩展的组件对象。可以说,对象是JSP编程技术的精髓。在这一章中,我们将介绍JSP中的对象,重点讲述JSP的内置对象,说明它们的功能,并通过示例来介绍它们的使用方法。,3.1对象与内置对象,对象是典型的具有方法、属性和集合的事物对象的属性反映了对象的状态,可以读取或设置。对象的集合是由很多不同的与对象有关系的属性和值的配对组成的。对于一般的对象,要想使用它,必须先声明一个类,再将它实例化,就会得到一个可以使用的对象。下面我们通过一个例子来讲解一般对象的使用方法。文件useobject.jspJSP程序中8个默认的内置对象对于它们而言,不用声明就可以直接使用。这8个对象分别是request、response、pageContext、session、application、out、config和page。,3.2request对象,request对象是ServletRequest的一个实例。当客户端请求一个JSP网页时,JSP引擎会将客户端的请求信息包装在这个request对象中,请求信息的内容包括请求的标题头(Header)、信息(如浏览器的版本信息、语言和编码方式等),请求的方式(如HTTP方法:GET、POST、PUT等),请求的参数名称、参数值和客户端的主机名称等,然后将request对象当作jspService方法的HttpServletRequest参数值,所以我们可以通过这个对象来取得有关客户端的请求信息。,3.2.1request对象的方法,方法,request对象使用示例1.request对象获取服务器及客户端的信息文件request1.jsp2.用request对象来获取和处理表单传过来的参数值(1)建立HTML表单(2)使用GET和POST方法(3)用request对象处理用户输入的数据用来存放在request对象里,用javax.servlet.HttpServletRequest来执行,你可以在JSP代码中直接访问request对象。并且处理表单传送过来的数据。文件request3.htmrequest3.jsp3.用request对象来获取和处理表单传过来的中文参数值的处理文件request2.htmrequest2.jsp,3.3response对象,response对象的类型是javax.servlet.ServletResponse类的实例,JSP引擎会根据客户端的请求信息建立一个默认的response对象。它用于将浏览器参考信息,如回应的Header、回应本体(HTML的内容)以及服务器端的状态码等信息提供给客户端。,3.3.1response对象的方法,3.3.2response对象使用示例,下面的示例程序实现了定时刷新页面的功能文件refresh.jsp这个程序指定页面每隔5秒钟自动刷新一遍,服务器重新执行这个程序,产生新的当前时间,然后输出到客户端。所以,页面上显示的时间每隔5秒钟就增加5秒钟,实现了类似时钟的功能。下面的示例程序实现了页面重定向功能文件request2.htm输入用户名为admin,进入管理界面;否则,则进入普通用户界面。,3.4session对象,session对象是JSP中一个很重要的内部对象,我们使用它来保存某个特定客户端(访问者)一次访问的一些特定信息。在JSP网络编程中,有多种方法可以保存客户信息,但是最常用、最实用的还是session对象。,3.4.1session对象介绍,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.2session对象的方法,session对象的类是HttpSession。HttpSession由服务器的程序实现,提供HTTP服务器和HTTP客户端之间的会话。会话,就是在给定时间段内持续进行多路连接和请求。会话被用来在多页面请求中保持状态和用户认证。,session对象的常用方法,3.4.3session对象使用示例,为说明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.5application对象,application对象保存了一个应用系统中一些公用的数据。与session对象相比,application对象是所有客户共享的,而session对象则是每个客户专用的。application对象可以是javax.servlet.ServletContext类型的。ServletContext接口让servlet访问关于其环境的信息。application对象的范围是application。,3.5.1application对象的方法,方法,3.5.2application对象的使用示例,一个使用了application对象的计数器文件appcount.jsp应用application内建对象,将上面的session例子改为application的例子。文件application1.htm,3.6out对象,out对象用于输出数据,它可以是javax.servlet.jsp.JspWriter的一个实例。out对象的范围是page。从java.io.Writer拓展而来的公共抽象类JspWriter效仿了java.io.BufferedWriter和java.Io.PrintWriter中的某些功能。但是,不同之处在于它会在打印方法中抛出(throw)java.Io.IOException异常,而PrintWriter不这样做。JSP中的out对象就是这种类型的。如果page指令选择了autoflush=true,那么当出现由于当前的操作不清空缓存而造成缓冲区溢出的情况时,这个类的所有I/O操作会自动清空缓冲区的内容。如果autoflush=false,那么当操作造成了缓冲区溢出时,这个类的所有的I/O操作将抛出一个IOException。,3.6.1out对象的变量,autoFlush类型为protectedbooleanautoflush如果变量值为真,则当当前的操作造成缓冲区溢出时,缓冲区会被清空。如果变量值为假,则如果当前操作造成缓冲区溢出就会抛出一个IOException。bufferSize类型为protectedintbufferSize表示缓冲区目前的大小。初始值根据不同的设备而不同,但是不少于8KB。DEFAULT_BUFFER类型为publicstaticfinalintDEFAULT_BUFFER表示Writer正使用的缺省的缓冲区大小设置。No_BUFFER类型为PublicstaticfinalintNO_BUFFER表示Writer是否处于缓存输出状态。,3.6.2Out对象的方法,方法,3.6.3Out对象的使用示例,用out对象输出多种不同类型的数据,包括输出中文文件out.jsp,3.7其他对象,pageContext对象pageContext对象是javax.servlet.jsp.PageContext类的一个实例。pageContext对象提供了存取所有关于JSP程序执行时所需要用到的属性和方法,如session、application、config、out等对象属性。对于pageContext对象,它的范围是page。page对象page对象是java.lang.Object类型的,它是处理当前请求的JSP页的实现类的实例。page对象在页的正文中可以被看作“this”的同义词。page对象的范围是page。config对象config对象是javax.servlet.ServletConfig类型的。它提供存取servletclass初始参数及有关Server环境信息的ServletContext对象。config对象的范围是page。,3.8.1编写易货网站中计数器,文本计数器文件mycounter.jsp以前我们编写的计数器每刷新一次就计数1次,这和计数器的原则不符,因为不断的刷新页面并不表示客户多次访问了该页。这里我们利用Cookie对前面的计数器进行改进,使得可以防止刷新。关掉浏览器,重新打开一遍,再执行该文件,则发现计数器的值也改变了,count.txt的值也相应改变了。【注】在执行本文件前,请先在您计算机的d盘下,建立count.txt文件,初始值为0。,3.8.2易货网站的登录,在本小节中,做一个用户注册的界面程序register.htm,要求对用户填写的部分进行合法性检验,然后提交到register.jsp进行注册检验,若用户名为user开头的,就提示“该用户名已被注册”,若用户名为admin,就提示“欢迎您,管理员”,否则,用户名大于4位字符时候,就显示“注册成功”。文件register.htmregister.jsp,
展开阅读全文
相关资源
相关搜索

最新文档


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


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

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


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