资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,JSP,的九大内置对象,1,什么是内置对象,JSP,为简化页面的开发提供了一些内置对象。,这些内置对象,不需要,JSP,页面的开发者,实例化,。他们由,容器实例化和管理,,在所有的,JSP,页面中都能使用内置对象。,JSP,的内置对象包括:,out,对象,request,对象,response,对象,session,对象,page,对象,pageContext,对象,application,对象,config,对象,exception,对象,2,out,对象,out,对象,用于输出数据,它是,javax.servlet.jsp.JspWriter,的一个实例。,out,对象的范围是,page,。,如果,page,指令选择了,autoFlush=“true”,,那么当出现由于当前的操作不清空缓存而造成缓冲区溢出的情况时,这个类的所有,I/O,操作便会自动清空缓冲区的内容。,如果,autoFlush=false,,那么当操作造成了缓冲区溢出时,这个类的所有的,I/O,操作都将抛出一个,IOException,异常。,3,out,对象的主要方法,out.print(boolean)out.println(boolean),输出,Boolean,类型数据,out.print(char)out.println(char),输出,char,类型数据,out.print(char)out.println(char),输出,char,类型数据,out.print(doubleout.println(double),输出,double,类型数据,out.print(float)out.println(float),输出,float,类型数据,out.print(int)out.println(int),输出,int,类型数据,out.print(long)out.println(long),输出,long,类型数据,out.print(Object)out.println(Object),输出,Object,类型数据,out.print(String)out.println(String),输出,String,类型数据,out.newLine(),输出一个换行符,out.flush(),输出缓冲区的数据,out.close(),关闭输出流,out.clearBuffer(),清除缓冲区里的数据,并把数据输出到客户端,out.cleat(),清除缓冲区里的数据,但不会把数据输出到客户端,out.getBufferSize(),获得缓冲区的大小,out.getRemaining(),获得缓冲区中没有被占用的空间大小,out.isAutoFlush(),返回布尔值。如果,AutoFlush,为真,则返回“,ture”,;反之则返回“,false”,4,out,对象的使用示例,out,对象是,JSP,中使用最频繁的对象之一,其中的,print(),和,println(),方法更是常见。,print(),方法就是把,Java,对象的原始数据类型输出到客户端的缓冲区,println(),方法除了把内容输出到客户端的缓冲区外,还在后面添加一个空行。但是这个空行会被浏览器忽略,要想在页面中实现换行,需要通过,out.pringln(“”),来实现。,5,使用,out,对象的实例,6,request,对象,request,对象,是,HTTPServletRequest,的一个实例。,当客户端提交一个请求时,,JSP,引擎会将客户端的请求信息包装在一个,request,对象中;,请求信息的内容包括,请求的标题头,(Header),信息,(,如浏览器的版本信息,语言和编码方式等,),请求的方式,(,如,HTTP,方法:,GET,,,POST,,,PUT,等,),请求的参数名称,参数值,客户端的主机名称等,然后将,request,对象当作,jspService,方法的,HttpServletRequest,参数值,所以我们可以通过这个对象来取得有关客户端的请求信息。,7,request,的常用方法,获取请求参数的:,getParameterValues(),返回作为字符串列举的指定参数的值,getParameterName(),返回本次请求的参数名字,getParameter(),返回包含指定参数的单独值的字符串,获取、设置容器内容的:,getAttribute(key),返回请求容器中给出名称的属性值,setAttribute(key,value),设置请求容器给出名称的属性值,获取客户端信息的:,getRemoteHost(),返回发送请求的客户端完全限定的主机名,getRemoteAddr(),返回发送请求的接口程序的,IP,地址,getProtocol(),返回请求的协议和版本号,getScheme(),返回发出请求的,URL,的机制,8,request,的常用方法,执行页面跳转的:,getRequestDispatcher(url).forward(request,response),执行转发操作,获取服务器信息的:,getServerPort(),返回接收请求的服务器端的端口号,getServerName(),返回接收请求的服务器的主机名,getRealPath(),返回用替换规则从虚拟地址中获得实际地址,请求编码集,getCharacterEncoding(),返回为请求的输入进行编码的字符集合,setCharacterEncoding(),设置为请求的输入进行编码的字符集合,9,request,练习,服务器的名称为,:,服务器的端口号为:,用户名为:,密码为:,10,request,练习,请编码实现如下效果:,11,response,对象,Reponse,被封装成,HttpServletResponse,接口。,它封装了,JSP,产生的响应,然后被发送到客户端以响应客户的请求。,和,request,对象一样,它由容器生成,作为,jspService(),方法的参数被传入,JSP,。因为输出流是缓冲的,所以可以设置,HTTP,状态码和,response,头。,response,对象的主要方法:,sendRedirect(),把响应发送到另一个位置进行处理,sendError(),向客户端发送错误信息,addCookie(),添加一个,Cookie,对象,用来保存客户端的用户信息,getCharacterEncoding(),返回用于,MIME,编码的字符集合,setCharacterEncoding(),设置用于,MIME,编码的字符集合,12,page,对象,page,对象,是,java.lang.Object,类的一个实例。它指的是,JSP,实现类的实例,也就是说它是,JSP,本身,通过这个对象可以对它进行访问。,JSP,实现了类对象的一个句柄,只有在,JSP,页面的范围内才是合法的。,13,config,对象,config,对象,被封装成,javax.servlet.ServletConfig,接口,它表示,Servlet,的配置,当一个,Servlet,初始化时,容器把某些信息通过此对象传递给初始化的,Servlet,。,14,exception,对象,exception,对象,是,java.lang.Throwable,类的一个实例。,它指的是运行时的异常,也就是被调用的错误页面的结果,只有在错误页面(在页面指令中要有,isErrorPage=ture,的页面)中才可以使用。,15,session,对象,session,对象,是,HttpSession,的一个实例,.,HttpSession,由服务器的程序实现,,提供,HTTP,服务器和,HTTP,客户端之间的会话。会话就是在给定时间段内持续进行多路连接和请求。,会话被用来在多页面请求中保持状态和用户认证。,session,用来储存访问者的一些特定信息,服务器就是根据,session,来跟踪这些信息的。,session,可以创建访问者信息容器。,session,跟踪访问者的访问路径,从中挖掘有用的信息。,session,在,JSP,程序中是一个内置的对象,每一个客户端都有一个,session,对象用来存放这个客户端相关的数据。,16,session,对象的方法,setAttribute(),设置指定名称为,name,的属性值,value,,并将之储存在,session,对象中,getAttribute(),获取于指定名称,name,相联系的属性值,getAttributeNames(),返回,session,对象中存储的每一个属性对象,其结果为一个枚举类的实例,removeValue(),移去和会话应用层数据中指定名称相连的对象,isNew(),如果客户端不接受使用,session,,那么每个请求都会产生一个,session,对象,invalidate(),使会话无效,并将其从上下文中移出,getSessionContext(),返回会话相连的上下文,getLastAccessTime(),返回客户端上一次发送携带会话账号的时间,getId(),返回会话标识符,getCreationTime(),返回会话创建的时间,17,application,对象,application,对象,用于在多个程序中保存信息。,可以实现所有用户间共享信息的功能,并可以在,Web,应用程序运行期间持久地保持数据。,与,application,相联系的是,ServletContext,类,通过调用,getServletConfig().getContext(),方法得到。,一旦创建,application,对象,该对象将一直保持下去,直到服务器关闭为止。,注意:每个用户的,application,对象都是相同的,每一个用户都共用同一个,application,对象。,18,pageContext,对象,pageContext,对象,被封装成,javax.servlet.jsp.pageContext,接口,它为,JSP,页面提供包装页面的上下文功能。,管理对属于,JSP,中特殊可见部分已命名对象的访问。它的创建和初始化都是由容器来完成的,,JSP,页面中可以直接使用,pageContext,对象的句柄。,pageContext,对象的,getXXX(),、,setXXX(),和,findXXX(),方法用来根据不同的对象范围实现对这些对象的管理。,pageContext,对象主要是管理对属于,JSP,特殊可见部分中已经命名对象的访问。,19,pageContext,对象常用方法,forward(String relativeUrlPath),把页面重定向到另外一个页面或者,Servlet,组件上,getAttribute(String name,nt scope)scope,参数是可选的。该方法用来检索一个特定的已经命名的对象的范围,并且还可以通过调用,getAttributeNamesScope(),方法,检索第某个特定范围的每个属性,String,字符串名字的枚举。,getException(),返回当前的,Exception,对象。,getRequest(),返回当前的,request,对象。,getResponse(),返回当前的,Response,对象。,getServletConfig(),返回当前页面的,servletConfig,对象。,getservletContext(),返回,servletContext,对象。,getSession(),返回当前页面的,Session,对象。,findAttribute(),方法则是可以用来按照页面、请求、会话以及应用程序范围的顺序实现对某个已命名属性的搜索。,setAttribute(),用来设置默认页面范围或特定范围之中的已命名对象,removeAttribute(),用来删除默认页面范围或特定范围之中的已命名对象,20,页面间的数据传递,21,页面的数据传递,在上边我们学习到了,JSP,的九大内置对象,也知道了可以通过内置对象来进行页面之间的一个数据的传递和保存,那么下来我们将这个页面之间的数据传递做个总结:,form,表单传递,URL,重写方式,cookie,方式,session,会话方式,22,总结,tomcat,服务器有什么作用?,JSP,的执行流程是什么?,JSP,的组成部分有哪些?,JSP,有哪几个内置对象?分别是?,如何实现页面的数据共享?有哪些方式?,23,
展开阅读全文