使用JSP内置对象.ppt_第1页
使用JSP内置对象.ppt_第2页
使用JSP内置对象.ppt_第3页
使用JSP内置对象.ppt_第4页
使用JSP内置对象.ppt_第5页
已阅读5页,还剩107页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2019年6月18日,1,第5章使用JSP内置对象,2019年6月18日,2,所谓JSP内置对象,是指不需要声明而直接可以在JSP网页中使用的对象。 需要注意的问题是对象名的写法,包括这些对象方法的调用时也要书写正确,因为Java语言本身是大小写敏感的。,2019年6月18日,3,教学目标和重点,了解和掌握request 请求对象方法 了解和掌握response 响应对象方法 了解和掌握session会话对象方法 了解和掌握out 输出对象的方法 了解和掌握pageContext 页面上下文对象方法 了解和掌握application 应用程序对象的方法 了解和掌握config 配置对象的方法 了解和掌握page 页面对象的方法 了解和掌握exception 例外对象的方法,2019年6月18日,4,隐式对象,输入输出对象,2019年6月18日,5,JSP内建对象概观,2019年6月18日,6,JSP内置对象简单概述: (1) HttpServletRequest类的request对象 作用:代表请求对象,主要用于接受客户端通过HTTP协议连接传输到服务器端的数据。,2019年6月18日,7,(2) HttpServletResponse类的respone对象 作用:代表响应对象,主要用于向客户端发送数据 (3) JspWriter类的out对象 作用:主要用于向客户端输出数据; out的基类是JspWriter,2019年6月18日,8,(4) HttpSession类的session对象 作用:主要用于来分别保存每个用户信息,与请求关联的会话; 会话状态维持是Web应用开发者必须面对的问题。,2019年6月18日,9,(5) ServletContext类的application对象 作用:主要用于保存用户信息,代码片段的运行环境; 它是一个共享的内置对象,即一个容器中的多个用户共享一个application对象,故其保存的信息被所有用户所共享.,2019年6月18日,10,(6) PageContext类的pageContext对象 作用:管理网页属性,为JSP页面包装页面的上下文,管理对属于JSP中特殊可见部分中已命名对象的访问,它的创建和初始化都是由容器来完成的。,2019年6月18日,11,(7) ServletConfig类的config对象 作用:代码片段配置对象,表示Servlet的配置。当一个 Servlet初始化时,容器把某些信息通过此对象传递个这个Servlet。 (8) Object类的page(相当于this)对象 作用:处理JSP网页,是Object类的一个实例,指的是JSP实现类的实例,即它也是JSP本身,只有在JSP页面范围之内才是合法的。,2019年6月18日,12,(9)exception 作用:处理JSP文件执行时发生的错误和异常 只有在错误页面里才可以使用,前提是:在page指令里要有isErrorPage=“true”在出错页面中,使用获得错误信息。,2019年6月18日,13,5.1 Request对象,HTTP通信协议是客户与服务器之间一种提交(请求)信息与响应信息(request/respone)的通信协议。在JSP中,内置对象request封装了用户提交的信息,那么该对象调用相应的方法可以获取封装的信息,即使用该对象可以获取用户提交的信息。 Request内置对象代表了客户端的请求信息,主要用于接受客户端通过HTTP协议传送给服务器端的数据。 Request对象封装请求信息的内容:请求的头信息(Header)、系统信息(比如:编码方式)、请求的方式(比如:GET或POST)、请求的参数名称和参数值等信息; 还提供了获取cookie和session等对象、数据的方法。 通过request对象可以获取用户的请求信息,2019年6月18日,14,Request对象方法1,Request对象包括很多方法,主要有: 获取请求参数的方法(重点) getParameter(String name):以字符串的形式返回客户端传来的某一个请求参数的值,该参数名由name指定。当传递给此方法的参数名没有实际参数与之对应时,返回null。 getParameterValues(String name):以字符串数组的形式返回name参数所有值。 getParameterNames():返回客户端传送给服务器端的所有的参数名,结果集是一个Enumeration(枚举)类的实例。当传递给此方法的参数名没有实际参数与之对应时,返回null。,2019年6月18日,15,常用方法(一) String request.getParameter(“parameterName”) 用表单和超链接、传递参数的时候,使用getParameter 返回给定参数的值,如果参数不存在则返回空值。 注意使用getParameter取得的值都是字符串类型,需要转换为需要的类型。 例: String name=request.getParameter(“name“);,2019年6月18日,16,注意:如果request.getParameter(“名字”)为null JSP引擎在运行JSP页面生成的字节码文件时,会认为使用了空对象,因为在这个字节码被执行时(客户请求页面时),客户可能还没有提交数据,textContent还没有被创建 如果使用了空对象,即还没有创建对象,Java解释器就会提示出现了NullPointerException异常,当然如果你不使用空对象就不会出现异常。 为了避免在运行时Java认为使用了空对象,使用如下代码:,String textContent=request.getParameter(“girl“); if(textContent=null) textContent=“; ,2019年6月18日,17,复习表单标记,Form表单标记 各种表单控件(文本框、密码框、复选框等) 至少一个提交按钮 注意比较:get和post两种提交方式的区别 内容传输形式、安全性 取值方式和中文乱码处理方式,2019年6月18日,18,2019年6月18日,19,2019年6月18日,20,2019年6月18日,21,outInfo.jsp,2019年6月18日,22,注: 如在地址栏中写入 http:/localhost:8080/ch04m/checklogin.jsp?name=mjh(例ch04m checklogin.jsp) 或是在页面的链接中 %”(例ch04m jsp_include.jsp) 同样可以使用getParameter(“a1”)以字符串形式 返回给定参数的值 。,2019年6月18日,23,常用方法(二) public String getParameterValues(Stringname) 返回值类型: 字符串数组 String 能够取出变量的多个值,主要用于复选框值的获取或是下拉列表带multiple属性的。 使用getParameterValues能够取出变量的多个值,2019年6月18日,24,读取复选框例子 hobby.html hobbyInfo.jsp 读取下拉列表带multiple属性的例子 city.html cityInfo.jsp,2019年6月18日,25,常用方法(三) public Enumeration getParameterNames() 返回值类型:枚举Enumeration 得到客户端提交的所有参数的名称 获取客户端提交的所有参数的名字: ,2019年6月18日,26,常用方法(四) request.setCharacterEncoding(“gbk”) 例:setCharacterEncoding(“GB2312”) 在form表单采用post方式提交请求时,需要设置request对象的编码方式,保证能够正确地取到数据。,2019年6月18日,27,Request对象方法2,getMethod():返回客户端向服务器端传送数据的方法,一般方法有GET、POST、PUT等类型。 getRequestURI():获得发出请求字符串的客户端地址。如/ch05/request.jsp getProtocol():获取客户端向服务器端传送数据所依据的协议名称,如http/1.1。 getServletPath():获得客户端所请求的脚本文件的相对路径。 getQueryString():返回查询字符串,该字符串由客户端以GET方法向服务器端传送。,Request对象的其它方法,主要有:,2019年6月18日,28,Request对象的主要方法3,getContentLength():以字节为单位返回客户端请求的大小。如果无法得到该请求的大小,则返回-1。 getContentType():获取客户端请求的MIME类型。如果无法得到该请求的MIME类型,那么返回-1。,2019年6月18日,29,Request对象的主要方法 4,getServerName():获得服务器的名字,如果没有设定服务器名,则返回服务器IP地址。 getServerPort():获得服务器的端口号。如8080,2019年6月18日,30,Request对象的主要方法 5,getRemoteAddr():获得客户端的IP地址。 getRemoteHost():获得客户端主机的名字,若失败,则返回客户端电脑的IP地址。 getRemoteUser():取得用户名 getHeader(“Use-Agent”):客户端所用的浏览器的有关信息 。,2019年6月18日,31,Request对象的主要方法 6,setAttribute(String name):返回name属性的值。 getAttributeNames():返回request对象所有属性的名字,结果集是一个Enumeration(枚举)类的实例。 setAttribute(String name,object value):设置name属性的值。 例request.jsp使用了request的常用方法。(程序中有一个错误enum改一下名字即可),2019年6月18日,32,5.2 Response对象方法,Response对象实现HttpServletResponse接口,可对客户的请求做出动态的响应,向客户端发送数据,如Cookie、HTTP文件头信息等,一般是HttpServlet.Response类或其子类的一个对象。,2019年6月18日,33,Response对象方法1,addCookie(Cookie cookie):添加一个Cookie对象,用来保存客户端的用户信息,用request的getCookies()方法可以获得这个Cookie。 addHeader(String name,String value):添加HTTP文件头,该header将会传到客户端去,如果有同名的header存在,那么原来的header将会被覆盖掉。 containsHeader(String name):判断指定名字的HTTP文件头是否存在,并返回布尔值。,2019年6月18日,34,Response对象方法2,sendError(int sc):向客户端发送错误信息,例如,505指示服务器内部错误;404指示网页找不到的错误。 setHeader(String name,String value):设定指定名字的HTTP文件头的值,如果该值存在,那么它会被新的值覆盖。如response.SetHeader(“Refresh”,”10”),客户浏览器会隔10秒刷新一次。 setContenType(String type):设置响应的MIME类型。,2019年6月18日,35,Response对象方法3,sendRedirect(URL):可以将用户重定向到一个不同的页面(URL)。sendRedirect(URL)方法通过返回特定的状态代码而起作用,当它被调用时,返回一个状态代码,然后在响应中定位,给新页面一个新地址。状态代码和定位头会自动把浏览器重定位到新页面。不过,用户通常不能被顺利重定位到新的页而,特别是老一些的浏览器,而且一些新版本的浏览器在自动响应定向作用状态代码时会有些问题,当浏览器无法自动响应状态代码时,会收到一些字段信息。,2019年6月18日,36,Response对象方法4,setContentLength(“attribute”):设置实体数据的大小。 getOutputStream():获得到客户端的输出流对象。 encodeURL(String url):把session作为URL的参数返回给客户端,实现URL重写。 flushBuffer():强制把缓冲区的内容发送到客户端。,2019年6月18日,37,Response的应用1,1.动态响应contenType属性 当一个用户访问一个jsp页面时,如果该页面用page指令设置页面的contentType属性是text/html,那么jsp引擎将按照 这种属性值作出反映。如果要动态改变这个属性值来响应客户,就需要使用response对象的setContentType(String s)方法来改变contentType的属性值。 public void setContentType(Stringtype) 设置输出数据的类型 text/html:网页 text/plain:纯文本 application/x-msexcel:Excel文件 application/msword:Word文件 将当前页面转换为word文档 例 response.jsp,2019年6月18日,38,response.jsp, response对象示例 ,2019年6月18日,39, 我正在学习response对象 将当前页面保存为word文档吗? ,2019年6月18日,40,Response的应用2,设置刷新 public void setHeader(Stringname, String value) 设置HTTP应答报文的首部字段和值 利用setHeader方法可以设置页面的自动刷新 reponse.setHeader(“Refresh”,”5”) 5秒种后自动刷新本页面 reponse.setHeader(“Refresh”, “5;URL=”)5秒种后自动跳转到新页面,2019年6月18日,41,2019年6月18日,42, response应用实例 ,2019年6月18日,43,Response的应用3,Response重定向:在某些情况下,当响应客户时,需要将客户重新引导至另一个页面,可以使用response的sendRedirect(URL)方法实现客户的重定向。,2019年6月18日,44,sendRedirect和完全是在服务器上进行,浏览器地址栏中的地址保持不变 使用不能将请求发到其他的web应用上, SendRedirect可以,2019年6月18日,45,Response的应用3,例,2019年6月18日,46,2019年6月18日,47,2019年6月18日,48,redirect.jsp 姓名: ,2019年6月18日,49,例如第四章的例子 login.jsp checklogin.jsp success.jsp 做一下更改,把改为 response.sendRedirect()比较两者不同的效果 response.sendRedirect(“login.jsp?user=“+name); 例 response对象中使用cookie的应用实例response2.jsp,2019年6月18日,50,Response的应用4,设定状态显示码的方法 response 的状态行 当服务器对可以请求进行响应时,发送的首行被称为状态行。状态行包括3位数字的状态代码和对状态代码的描述。 下面给出对5类状态代码的大概描述。 1*(1开头的3位数字:主要是实验性质的) 2*:用来表示请求成功。 3*:用来表示在请求满足之前应该采取进一步的行动。 4*:当浏览器做出无法满足的请求时,返回该状态码。 5*:用来表示服务器出现的问题。 可以通过response对象的setStatus(int n)方法来增加状态行的内容。,2019年6月18日,51,2019年6月18日,52,2019年6月18日,53,2019年6月18日,54,2019年6月18日,55,2019年6月18日,56,状态代码表1,下面是服务器响应客户时,发送到客户端的状态代码描述。,2019年6月18日,57,状态代码表2,2019年6月18日,58,状态代码表3,2019年6月18日,59,状态代码表4,2019年6月18日,60,状态代码表5,2019年6月18日,61,5.3 Out对象的方法,Out对象主要用来向客户端输出各种数据类型的内容,并且管理应用服务器上的输出缓冲区,其基类是JspWriter。与“response”对象不同,通过“out”对象发送的内容将是浏览器需要显示的内容,是文本级的,可以通过“out”对象直接向客户端写一个有程序动态生成的HTML文件。,2019年6月18日,62,Out对象方法成员,2019年6月18日,63,输出数据,newLine在网页中输出一行空白,例如下面的程序代码: out.newLine() ; Print和println这2个方法成员被引用的时候均接受一个特定型态的参数,並且将这个参数输出到网页上: out.print(“Hello JSP“) ; out.println(“Hello JSP“) ; 第一行程序代码将Hello JSP直接输出到客户端的缓冲 区上,第二行则在输出Hello JSP之后,紧接着加上一 个换行。但这换行符在浏览器中会被忽略,要想真正 在页面中实现换行,就需要在输出内容的最后加上换 行标签“”,2019年6月18日,64,JSP程序利用out对象将网页内容输出时,都要和客户端做一次连接,并且会为此消耗不少的资源; 因此可以将要输出的内容放在一个固定大小的缓冲区中,等到缓冲区满时再一次将内容送往客户端,这就要将autoFlush设为true,否则缓冲区满时将产生IOException错误。,2019年6月18日,65,缓冲区操作,缓冲区是数据输出到浏览器之前,用来暂存数据的一块区域。,2019年6月18日,66,缓冲区操作,clear、clearBuffer和flush使用于清空缓冲区內容。 获取缓冲区当前状态的方法,分別为getBufferSize、getRemaining和isAutoFlush 。,2019年6月18日,67,清空缓冲区,clear() 使用于清空缓冲区中暂存的数据內容,缓冲区必需存在储存的数据 ,否则系统会引发一个IOException的例外 。 clearBuffer()只负责清除的操作而不在乎是否存在任何数据。 flush() 除了清空缓冲区,还会进一步将所清空的数据内容输出到网页 。 例outbuffer.jsp,2019年6月18日,68,获取缓冲区状态,getBufferSize返回一个表示当前缓冲区大小的整数值。 getRemaining所返回的整数值,则是当前缓冲区中剩余的空间大小。 isAutoFlush用以设定当数据储存量大于缓冲区剩余空间的时候,是否清空其中的数据內容。是则返回一个true,否则返回值为flase。,2019年6月18日,69,例out.jsp, out对象示例 out 对象 “); int Buffer = out.getBufferSize(); int Available = out.getRemaining(); % BufferSize : Available : ,2019年6月18日,70,outExample.jsp,2019年6月18日,71, out对象 应用实例 “); out.println(“out.println(boolean):“); out.println(true); out.println(“out.println(char):“); out.println(a);,代码outExample.jsp,2019年6月18日,72,out.println(“out.println(char):“); out.println(new chara,b); out.println(“out.println(double):“); out.println(5.66d); out.println(“out.println(float):“); out.println(36.8f); out.println(“out.println(int):“); out.println(8); out.println(“out.println(long):“); out.println(123456789123456L); out.println(“out.println(object):“); out.println(new java.util.Date(); out.println(“out.println(string):“);,2019年6月18日,73,out.println(“hello jsp“); out.println(“out.newLine():“); out.newLine(); out.println(“out.getBufferSize():“); out.println(out.getBufferSize(); out.println(“out.getRemaining():“); out.println(out.getRemaining(); out.println(“out.isAutoFlush():“); out.println(out.isAutoFlush(); out.flush(); out.println(“调用out.flush()“); out.close(); out.println(5.66d); % ,2019年6月18日,74,5.4 PageContext对象的方法,PageContext对象可以直译为“页面上下文”对象,代表的是当前页面运行的一些属性。所有内置对象都可以从pageContext中取得,例如getRequest()可以取得当前页面上的request对象,getResponse可以取得response对象等等。,2019年6月18日,75,pageContext对象是JSP中很重要的一个内置对象,不过在一般的JSP程序中,很少用到它,所以知道request对象、response对象的人比较多,知道pageContext对象的人就比较少了。它是javax.servlet.jsp.PageContext类的实例对象,可以使用PageContext类的方法。实际上,pageContext对象提供了对JSP页面所有的对象及命名空间的访问,正如前面所介绍的一样,使用pageContext对象可以访问application对象、exception对象,还有session对象等。pageContext对象的方法可以访问除本身以外的8个JSP内部对象,还可以直接访问绑定在application对象、page对象、request对象、session对象上的Java对象。pageContext对象相当于JSP程序中所有对象功能的集成者。不过,这里存在着一个问题,既然可以直接访问JSP内部对象,为什么还要多此一举,通过pageContext对象来访问它们呢?这也正是pageContext对象应用较少的原因。话虽这样说,pageContext对象总是JSP中9个内置对象不可或缺的一部分,读者还是需要掌握它的用法的。,2019年6月18日,76,pageContext对象的主要方法1,forward(java.lang.String.relativeUrlPath):把网页重定向到另一个或者servlet组件上。 getAttribute(java.lang.String, int scope):该 方法用来检索一个特定的一经命名的对象的范围。 getException() :获得目前网页的异常对象(exception),此网页一定要有以下设置: getRequest():该方法的返回对象是javax.servlet.ServletRequest,也就是JSP内置对象-request对象,主要用于获取客户端的信息。 getResponse():该方法的返回response对象,2019年6月18日,77,pageContext对象的主要方法2,getServletConfig():该方法可以返回当前的config对象,用于获取JSP/Servlet程序的初始参数。 getServletContext():该方法返回Servlet Context对象,这个对象对所有的页面都是共享的。 getSession():返回当前页面的session对象,2019年6月18日,78,pageContext对象的主要方法3,findAttribute():用来按照页面请求、会话以及应用程序范围的顺序实现对某个已经命名属性的搜索。 setAttribute():用来设置默认页面的范围或指定范围之中的已命名对象。 removeAttribute():用来删除默认页面范围或指定范围之中已命名的对象。 Enumeration getAttributeNameInScope(int scope):返回所有属性范围为scope的属性名称,2019年6月18日,79,例ValueInput.html是一个登录页,用户可以输入一个参数。(在IE浏览器中查看) pagecontext1.jsp和pagecontex2.jsp验证 pageContext.setAtrribute(“useName”,name)设置属性在当前页面有效。 pageContext.getSession().setAtrribute(“session Value”,name)设置属性在当前session中是共享的。 pageContext.getServletContext().setAttribute(“sharevalue”,name)设置的属性是对所有页面共享的。,2019年6月18日,80,5.5 Session对象方法,1.什么是Session:Session对象是一个jsp内置对象,它在第一个jsp页面被装载时自动创建,完成会话期管理。 从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象。,2019年6月18日,81,session 对象,当客户端用户向服务器提出请求打开网页后,若该网页中包含了为用户建立session的程序代码,则便会产生session 对象。,2019年6月18日,82,session 期限,session和application相同,有其存在的期限。当发生以下四种情形其中之一时,session对象中的数据便会清空 : 用户关闭目前正在使用的浏览器程序。 关闭网页服务器。 用户未向服务器提出请求超过预设的时间,Tomcat服务器预设为30分钟。 运行程序结束session。,2019年6月18日,83,2session对象的Id:当一个客户首次访问服务器上的一个jsp页面时,jsp引擎 产生一个session对象,同时分配一个String类型的Id号,jsp引擎同时将这个Id号发送到客户端,存放在Cookie(Cookie是Web服务器保存在用户硬盘上的一段文本)中,这样 session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览 器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新 的session对象。,2019年6月18日,84,Session是一种服务器个别处理与记录用户端上网使用者信息的技术。当使用者与服务器联机时,服务器可以给每一个上网的使用者一个Session并设定其中的内容,这些Session都是个别独立的,服务器端可以借此来辨别使用者信息进而提供个别的服务。 Session对象的常用方法为:,2019年6月18日,85,Session对象的常用方法1,setAttribute(String name ,Object obj) session对象类似于散列表,session对象可以调用该方法将参数Object指定的对象obj添加到session 对象中,并为添加的对象指定了一个索引关键字,如果添加的两个对象的关键字相同,则先前添加的对象被清除。 getAttribute(String name):获得指定名字的属性,如果该属性不存在,将会返回null。 getAttributeNames():返回Session对象中存储的每个属性对象,结果集是一个Enumeration类的实例。 getValue(String name) getValue()方法就用于获取指定名字的(由name指定)和session对象绑定的变量的值,如果不存在这个参数或者Java对象,那么该方法将会返回null值。 removeValue(String name)该方法可以使得某个参数或者Java对象与当前的session对象解除绑定状态。 putValue(String name, java.lang.Object value)putValue()方法和removeValue()方法恰好相对,putValue()方法可以将某个参数或者Java对象和当前的Java对象绑定起来。putValue()方法的参数name指定需要绑定的名称,value指定需要绑定的参数或者Java对象的值。如果在使用putValue()方法以前,已经有同名的参数或者Java对象被绑定于session对象上,那么新值将会覆盖旧值。,2019年6月18日,86,建立session变量 session.setAttribute(“变量名称”,变量內容) 在session中设定变量数据: ,2019年6月18日,87,Session对象的常用方法2,getId():返回Session对象在服务器端的编号。每生成一个Session对象,服务器都会给它一个编号,并且该编号不会重复,这样服务器才能根据编号来识别Session,并且正确的处理某一特定的Session及其提供的服务。 getCreationTime():返回Session对象被创建的时间,单位为毫秒。 getLastAccessedTime():返回当前Session对象最后一次被操作的时间,时间的单位为毫秒。 isNew():判断目前Session是否为新的Session,若是则返回ture,否则返回false。,2019年6月18日,88,Session对象的常用方法3,getMaxInactiveInterval():获取Session对象的生存时间,时间的单位为秒。 setMaxInactiveInterval(int interval):设置Session的有效时间(也叫超时时间),时间的单位为秒。 removeAttribute(String name)“删除指定的属性(包含属性名、属性值)。如果在有效时间内,用户做出了新的请求,那么服务器就会将其看作一个新的用户,此时,服务器将创建一个新的Session,旧的Session信息将会丢失 invalidate()移除session,2019年6月18日,89,例session.jsp ,2019年6月18日,90, session对象示例 session 您的session对象的ID是: 您是第个访问本站的人。 ,2019年6月18日,91,2019年6月18日,92,例登录页面login.jsp和欢迎页面Member.jsp。 这是一个简单的登录实例,用户在输入正确的用户名和密码后,页面跳转到欢迎页,并且读出保存在session中的信息。 例session的常用方法session_method.jsp,2019年6月18日,93,5.6 Application对象的方法,Application对象和Session对象相比,含义更加广泛。 什么是application: Application对象保存了一个应用系统中公有的数据,一旦创建了application对象,除非服务器关闭,否则application对象将一直得保存,并为所有客户共享。 服务器启动后就会自动创建application对象,当客户在所访问的网站的各个页面之间浏览时,这个application对象都是同一 个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application 对象。 注意在JSP服务器运行时,仅有一个application对象,它由服务器创建,也由服务器自动清除,不能被用户创建和清除。,2019年6月18日,94,Application 是一个所有在线用户共享的数据存取区,application中的变量数据在程序设定其值时被初始化,而当关闭网页服务器,或者超过预设时间而未有任何用户联机时自动消失 。,2019年6月18日,95,application 对象的主要方法1,getAttribute(String name)使用getAttribute()方法可以返回那些和当前application对象绑定在一起的值或者Java对象。getAttribute()方法的参数name指定了目标参数或者目标Java对象的名字。 getAttributeNames()该方法可以返回所有与当前application对象绑定在一起的参数或者Java对象的名字。这个方法的返回值是一个枚举对象(Enumeration)。 getInitParameter(String name) 返回name属性的初始值。 getServerInfo() 该方法可以获得当前服务器的详细信息,不同的服务器返回的信息格式不一样。,2019年6月18日,96,application 对象的主要方法2,setAttribute(String name, Object object)该方法通常和getAttribute()方法及removeAttribute()方法搭配使用,它的作用就是将某个参数或者Java对象与application对象绑定在一起,在setAttribute()方法中,参数name指定和application对象绑定的参数或者Java对象的名称,参数object指定需要绑定的值,object必须是一个Java对象,例如Integer对象,但不能够是int类型的数据。如果在绑定新值时,已经有同名的参数或者Java对象和application对象绑定了,那么新值将会覆盖旧值。 getRealPath(String path)获取对应虚拟路径的实际路径。,2019年6月18日,97,例application.jsp中使用getAttribute()和setAttribute()方 法,分别用于取得和设置Num变量的值。 ,2019年6月18日,98, application对象示例 application对象示例 本页面对应的实际路径是: application对象中变量Num的值: ,2019年6月18日,99,例page1.jsp和page2.jsp。page1.jsp中保存着用户名和密码,并跳转到page2.jsp,page2页面读取该用户名和密码并显示。 把applicaton改为session查看效果,比较两者之间的不同。 (在IE浏览器中查看),2019年6月18日,100,使用applicationNum.jsp为页面做计数器,使用test_application.jsp测试,刷新,可以看到计数器在不断增加。复制test_application.jsp,保存为test_application2.jsp,测试,可以看出两个页面的计数器是分别进行的。,2019年6月18日,101,5.7 Page对象,“page” 对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。 page对象是指向当前JSP程序本身的对象,有点像类中的this。page对象其实是java.lang.Object类的实例对象,它可以使用Object类的方法,例如,hashCode()、toString()等方法。page对象在JSP程序中的应用不是很广,但是java.lang.Object类还是十分重要的,因为JSP内置对象的很多方法的返回类型是Object,需要用到Object类的方法,读者可以参考相关的文档,这里就不详细介绍了。 例page.jsp,2019年6月18日,102, page对象示例 page对象示例 Page Information = ,2019年6月18日,103,5.8 Config对象的方法,config对象是在一个servlet程序初始化时,JSP引擎向它传递消息用的,此消息包括servlet程序初始化时所需要的参数及服务器的有关信息。Config对象其实是实现javax.servlet.ServletConfig接口的类的实例对象。 Config对象具有Web服务器所需的多种环境设定值,简单点说,Config对象就是提供对初始化JSP的配置数据的访问。 在实际应用中,config对象和page对象一般都很少被用到。,2019年6月18日,104,Config对象的主要方法,getInitParameter():以字符串类型返回指定初始参数的内容,如果参数不存在,则返

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论