JAVAWEB第三章JSP第三节:JSP内建对象内容回顾上章重要知识点1.脚本元素的五个类型及作用2.指令元素三个类型及作用3.动作元素类型(了解熟悉)南亚视点网络培训学校教学目标通过本节课的学习:本节的重点为掌握:•熟悉JSP的9种内置对象•掌握常用的三种内置对象•掌握request,session,response对象的使用南亚视点网络培训学校综述从本质上讲,JSP的这些内建对象其实都是由特定的Java类所产生的,在服务器运行时根据情况自动生成,所以如果你有较好的Java基础,可以参考相应的类说明,下表给出了他们的对应关系。更进一步的讲解将会在讲解Servlet的一章中展开,如果你的Java基础不太好,可以先熟悉在这一章里所介绍的各种方法的使用。南亚视点网络培训学校综述JSP有以下九种内建对象,包括:•·request,请求对象•·response,响应对象•·pageContext,页面上下文对象•·session,会话对象•·application,应用程序对象•·out,输出对象•·config,配置对象•·page,页面对象•·exception,异常对象南亚视点网络培训学校综述南亚视点网络培训学校request对象request内置对象表示的是调用JSP页面的请求。通常,request对象是下面接口的一个实例:javax.servlet.http.HttpServletRequestrequest内置对象表示作用为取得请求的Header、信息(如浏览器版本、语言和编码等)、请求的方式(get/post)、请求的参数名称、参数值、客户端的主机名称等南亚视点网络培训学校request对象常用方法:getMethod():返回客户端向服务器端传送数据的方法getParameter(StringparamName):返回客户端向服务器端传送的参数值,该参数由paramName指定getParameterNames():获得客户端传送给服务器端的所有参数的名字,结果是一个枚举类型数据(Enumeration)getParameterValues(Stringname):获得指定参数的所有值,由name指定getRequestURI():获得发出请求字符串的客户端地址getRemoteAddr():获取客户端的IP地址getRemoteHost():获取客户端机器名称getServerName():获取服务器的名字getServletName():客户端所请求的脚本文件路径getServerPort():获取服务器端的端口南亚视点网络培训学校request对象(示例)htmlbodyformaction=./Hello_req.jsp姓名inputtype=textname=UserNameinputtype=submitvalue=提交/form/body/html%@pagecontentType=text/html;gb2312%%@pageimport=java.util.*%HTMLBODY你好,%!StringName;%%Name=request.getParameter(UserName);%%=Name%,今天是%Datetoday=newDate();%%=today.getDate()%号,星期%=today.getDay()%/BODY/HTML南亚视点网络培训学校response对象方法response表示的是返回给客户端的响应,它是下面接口的一个实例:javax.servlethttp.HttpServletResponse这个对象经常用于设置HTTP标题,添加cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URL南亚视点网络培训学校response对象response表示的是返回给客户端的响应,它是下面接口的一个实例:javax.servlethttp.HttpServletResponse这个对象经常用于设置HTTP标题,添加cookie、设置响应内容的类型和状态、发送HTTP重定向和编码URL南亚视点网络培训学校response对象常用方法:addHeader(Stringname,Stringvalue):添加HTTP头信息,该Header信息将发送到客户端。containsHeader(Stringname):判断指定名字的HTTP文件头是否存在。sendError(int):向客户端发送错误的信息sendRedirect(Stringurl):重定向JSP文件setContentType(StringcontentType):设置MIME类型与编码方式南亚视点网络培训学校response对象(示例)%@pagecontentType=text/html;charset=GB2312%HTMLBODYbgcolor=cyan将当前页面保存为word文档FORMaction=method=getname=formINPUTTYPE=submitvalue=yesname=submit/FORM%Stringstr=request.getParameter(submit);if(str==null){str=;}if(str.equals(yes)){response.setContentType(application/msword;charset=GB2312);}%/BODY/HTML南亚视点网络培训学校Session对象什么是Session:从一个客户打开浏览器并连接到服务器开始,到客户关闭浏览器离开这个服务器结束,被称为一个会话。当一个客户访问一个服务器时,可能会在这个服务器的几个页面之间反复连接,反复刷新一个页面,服务器应当通过某种办法知道这是同一个客户,这就需要session对象session对象的Id:当一个客户首次访问服务器上的一个jsp页面时,jsp引擎产生一个session对象,同时分配一个String类型的Id号,jsp引擎同时将这个Id号发送到客户端,存放在Cookie中,这样session对象和客户之间就建立了一一对应的关系。当客户再访问连接该服务器的其他页面时,不再分配给客户新的session对象,直到客户关闭浏览器后,服务器端该客户的session对象才取消,并且和客户的会话对应关系消失。当客户重新打开浏览器再连接到该服务器时,服务器为该客户再创建一个新的session对象南亚视点网络培训学校Session对象概要•HTTP是无状态(stateless)协议;•WebServer对每一个客户端请求都没有历史记忆;•Session用来保存客户端状态信息;•由WebServer写入;•存于客户端;•客户端的每次访问都把上次的session记录传递给WebServer;•WebServer读取客户端提交的session来获取客户端的状态信息;南亚视点网络培训学校Session对象常用方法:在session中加入和删除数据:方法说明putValue(String,Object)设定session内容removeValue(String)删除seesion内容取得session中变量内容:方法说明getValue(String)返回指定变量的内容getValueNames()返回所有变量的名称南亚视点网络培训学校Session对象其他常用方法:方法说明getId()返回sessionIDisNew()判定session是否为新invalidate()删除sessiongetCreactionTime()返回session建立的时间getLastAccessedTime()返回seesion最后访问时间session的存在期限:方法说明getMaxInactiveInterval()返回seesion存在期限setMaxInactiveInterval()设定seesion存在期限南亚视点网络培训学校pageContext对象pageContext”对象直译时可以称作“页面上下文”对象,代表的是当前页面运行的一些属性,常用的方法包括findAttribute、getAttribute、getAttributesScope和getAttributeNamesInScope,一般情况下“pageContext”对象用到得也不是很多,只有在项目所面临的情况比较复杂的情况下,才会利用到页面属性来辅助处理。南亚视点网络培训学校aplication对象什么是application:服务器启动后就产生了这个application对象,当客户再所访问的网站的各个页面之间浏览时,这个application对象都是同一个,直到服务器关闭。但是与session不同的是,所有客户的application对象都是同一个,即所有客户共享这个内置的application对象南亚视点网络培训学校aplication对象Application对象常用方法:(1)setAttribute(Stringkey,Objectobj):将参数Object指定的对象obj添加到application对象中,并为添加的对象指定一个索引关键字。(2)getAttribute(Stringkey):获取application对象中含有关键字的对象。南亚视点网络培训学校aplication对象(示例)%StringstrNum=(String)application.getAttribute(Num);intNum=0;//检查是否Num变量是否可取得if(strNum!=null)Num=Integer.parseInt(strNum)+1;//将取得的值增加1application.setAttribute(Num,String.valueOf(Num));//起始Num变量值%Fontcolor=blueNum/Font变量值为%=application.getAttribute(“Num”)%南亚视点网络培训学校Out对象Out对象是一个输出流,用来向客户端输出数据。Out对象用于各种数据的输出。常用方法:(1)out.print(“”):输出各种类型数据。(2)out.newLine():输出一个换行符。(3)out.close():关闭流南亚视点网络培训学校Out对象(示例)%@pagecontentType=text/html;charset=GB2312%%@pageimport=java.util.Date%%DateNow=newDate();Stringhours=String.valueOf(Now.getHours());Stringmins=String.valueOf(Now.getMinutes());Stringsecs=String.valueOf(Now.getSeconds());%%out.print(“现在是:”);%%out.print(hours);%小时%out.print(mins);%分%out.print(String.valueOf(Now.getSeconds()));%%=“秒”%南亚视点网络培训学校config、page、exception对象“config”对象提供一些配置信息,常用的方法有getInitParameter和getInitParameterNames,以获得Servlet初始化时的参数。“page”对象代表了正在运行的由JSP文件产生的类对象,不建议一般读者使用。“exception”对象则代表了JSP文件运行时所产生的例外对象,此对象不能在一般JSP文件中直接使用,而只能在使用了“%@pageisErrorPage=true%”的JSP文件中使用南亚视点网络培训学校exception对象示例%--