您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业财务 > 第9章隐式对象(下)
JavaWeb应用开发第九章JSP隐式对象(下)回顾输入/输出对象:request、response和out作用域通信对象:sessionapplication和pageContextServlet相关对象:page和config错误对象:exception目标介绍隐式对象session、application、config、exception隐式对象session、application、config、exception的使用实例介绍隐式对象pageContext、request、session、application之间的区别隐式对象使用综合实例session对象Web服务器为单个用户发送的多个请求创建会话存储有关用户会话的所有信息javax.servlet.http.HttpSession接口的实例session对象最常用的方法有:–voidsetAttribute(Stringname,Objectvalue)–以键/值的方式,将一个对象的值存放到session中–voidgetAttribute(Stringname)–根据名称去获取session中存放对象的值session对象%session.setAttribute(“name”,“admin”);%%if(session.getAttribute(“name”)!=null){Stringname=(String)session.getAttribute(“name”);}%session方法方法名作用getAttributeNames()返回session对象中存储的每一个属性对象,其结果是一个枚举类的实例getCreationtime()返回此session的建立时间,以毫秒为单位getId()返回session在服务器的识别码getLastAccessedTime()返回用户最后通过session向服务器提出请求的时间getMaxInactiveInterval()返回总时间,以秒为单位。其中,负值表示session永远不会超时。它的值为该session对象的生存时间getSessionContext()返回与session相关的contextsession方法方法名作用getValue(Stringname)取出session中名称为name的数据的内容getValueNames()取出session中所有的数据名称invalidate()使session失效并把它从context中删除isNew()判断是否是新的session。如服务器端建立了session且尚未被客户端存取,则返回true;否则返回falseputValue(Stringname,Objectobjname)在session中设置一个字符串变量并指定其内容removeAttribute(Stringname)删除与指定name相联系的属性session%request.getSession(true);session.putValue(userName,围裙);session.putValue(userSex,F);session.putValue(ip,request.getRemoteAddr());Stringsex=(String)session.getValue(userSex);StringsessionName[]=session.getValueNames();out.print(session.getValue(userName));if(sex.equals(M){out.println(先生,你好!br);}else{out.println(女士,你好!br);}out.println(你来自);out.println(session.getId()+br);out.println(已经建立的session数据共有);out.println(sessionName.length+笔br);out.println(分别为;);for(inti=0;isessionName.length;i++){out.println(sessionName[i]+);}out.println(br);out.println(目前的用户session是否是new?);out.println(session.isNew());%session%request.getSession(true);out.print(session建立的时间:);out.print(session.getCreationTime()+br);session.setMaxInactiveInterval(7200);out.print(设置session最大的存在期限为7200秒br);out.print(目前session的最大存在期限是:);out.print(session.getMaxInactiveInterval()+秒br);out.print(最后请求此session的时间是:);out.print(session.getLastAccessedTime());%application对象表示JSP页面所属的应用程序应用程序的JSP页面组合起来形成一个应用程序javax.servlet.ServletContext接口实例application对象最常用的方法有:–voidsetAttribute(Stringname,Objectvalue)以键/值的方式,将一个对象的值存放到application中–voidgetAttribute(Stringname)根据名称去获取application中存放对象的值application对象2-2%application.setAttribute(“ChartRecord”,“hihi”);%%if(application.getAttribute(“ChartRecord”)!=null){StringchartRecord=(String)application.getAttribute(“ChartRecord”);}%application其他方法application对象其他的方法有:–getAttributeNames()返回所有application对象的属性的名称,其结果是一个枚举(Enumeration)的实例–getContext(Stringname,Stringdata)获取指定URI的context–getInitParameter(Stringname)返回由name指定的名字的application对象的某个属性的初始值–getMimeType(URI)获取文件的文件格式,其结果是一个StringpageContext对象2-1使用户可以访问页面作用域中定义的所有隐式对象它的作用范围是在同一页面javax.servlet.jsp.PageContext类的实例pageContext对象2-2pageContext对象最常用的方法有:–voidsetAttribute(Stringname,Objectvalue)以键/值的方式,将一个对象的值存放到pageContext中–voidgetAttribute(Stringname)根据名称去获取pageContext中存放对象的值application其他方法application对象其他的方法有:–getRealPath(Stringvpath)获取与虚拟路径vpath相对应的实际路径,其结果是一个String–getServletInfo()获取服务器的相关信息,其结果是一个String–getServletNames()以列举方式获取服务器所有的servlet名称,其结果是一个枚举的实例–removeAttribute(Stringname)删除名称为name的数据变量Servlet对象JSP引擎为每个JSP生成一个ServletServlet对象提供了访问Servlet信息的方法和变量Servlet对象包括–page–configconfig对象config对象实现javax.servlet.ServletConfig接口,表示Servlet的配置,其常用方法有:–getInitParameter()获取初始化的参数–getServletContext()获取环境–getServletName()获取Servlet名字config方法方法名作用getInitParameter(Stringname)获取出书参数名称为name的参数值getInitParameterNames()以枚举方式列举所有的初始参数名称getServletContext()获取执行者的Servlet上下文getServletName()获取Servlet的名称page对象使用page对象可以访问Servlet类的所有变量和方法java.lang.Object类的一个实例%@pageinfo=”我的信息”contentType=”text/html;charset=GBK”%htmlbody%=((javax.servlet.jsp.HttpJspPage)page).getServletInfo()%/body/htmlexception对象2-1exception对象用于处理JSP页面中的错误exception对象用于访问执行JSP的过程中引发的异常exception对象是java.lang.Throwable类的实例%@pageisErrorPage=true%htmlheadtitle隐式对象/title/headbodyh1隐式对象:异常/h1已检测到以下错误:brb%=exception%/bbr%exception.printStackTrace(out);%/bodyhtml%@pageisErrorPage=true%htmlheadtitle处理错误/title/headbody%if(exception!=null){out.println(“\n发生错误。\n);}else{out.println(“\n您已访问此页面,但是没有可用的错误信息\n);}%/body/htmlexception对象2-2总结JSP隐式对象一般分为输入/输出对象、作用域通信对象、Servlet对象和错误对象四类JSP中的隐式对象包括page、config、request、response、out、session、application、pageContext和exceptionJSP定义的作用域包括page、request、session和application
本文标题:第9章隐式对象(下)
链接地址:https://www.777doc.com/doc-3351466 .html