您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 企业文化 > jsp九大内置对象.
JSP的九大内置对象什么是内置对象•JSP为简化页面的开发提供了一些内置对象。•这些内置对象不需要JSP页面的开发者实例化。他们由容器实例化和管理,在所有的JSP页面中都能使用内置对象。•JSP的内置对象包括:–out对象–request对象–response对象–session对象–page对象–pageContext对象–application对象–config对象–exception对象out对象•out对象–用于输出数据,它是javax.servlet.jsp.JspWriter的一个实例。–out对象的范围是page。•如果page指令选择了autoFlush=“true”,那么当出现由于当前的操作不清空缓存而造成缓冲区溢出的情况时,这个类的所有I/O操作便会自动清空缓冲区的内容。•如果autoFlush=false,那么当操作造成了缓冲区溢出时,这个类的所有的I/O操作都将抛出一个IOException异常。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”out对象的使用示例•out对象是JSP中使用最频繁的对象之一,其中的print()和println()方法更是常见。•print()方法就是把Java对象的原始数据类型输出到客户端的缓冲区•println()方法除了把内容输出到客户端的缓冲区外,还在后面添加一个空行。但是这个空行会被浏览器忽略,要想在页面中实现换行,需要通过out.pringln(“br”)来实现。使用out对象的实例%@pagecontentType=text/html;charset=GBK%%out.println(html);out.println(head);out.println(title);out.println(test);out.println(/title);out.println(/head);out.println(body);out.println(h1);out.println(out对象示例);out.println(/h1);out.println(/body);out.println(/html);%request对象•request对象–是HTTPServletRequest的一个实例。–当客户端提交一个请求时,JSP引擎会将客户端的请求信息包装在一个request对象中;•请求信息的内容包括•请求的标题头(Header)•信息(如浏览器的版本信息,语言和编码方式等)•请求的方式(如HTTP方法:GET,POST,PUT等)•请求的参数名称,参数值•客户端的主机名称等–然后将request对象当作jspService方法的HttpServletRequest参数值,所以我们可以通过这个对象来取得有关客户端的请求信息。request的常用方法•获取请求参数的:–getParameterValues()返回作为字符串列举的指定参数的值–getParameterName()返回本次请求的参数名字–getParameter()返回包含指定参数的单独值的字符串•获取、设置容器内容的:–getAttribute(key)返回请求容器中给出名称的属性值–setAttribute(key,value)设置请求容器给出名称的属性值•获取客户端信息的:–getRemoteHost()返回发送请求的客户端完全限定的主机名–getRemoteAddr()返回发送请求的接口程序的IP地址–getProtocol()返回请求的协议和版本号–getScheme()返回发出请求的URL的机制request的常用方法•执行页面跳转的:–getRequestDispatcher(url).forward(request,response)–执行转发操作•获取服务器信息的:–getServerPort()返回接收请求的服务器端的端口号–getServerName()返回接收请求的服务器的主机名–getRealPath()返回用替换规则从虚拟地址中获得实际地址•请求编码集–getCharacterEncoding()返回为请求的输入进行编码的字符集合–setCharacterEncoding()设置为请求的输入进行编码的字符集合request练习%@pagecontentType=text/html;charset=GBK%htmlbodybgcolor=#ffffff服务器的名称为:%=request.getServerName()%br服务器的端口号为:%=request.getServerPort()%br用户名为:%=request.getParameter(username)%br密码为:%=request.getParameter(password)%/body/htmlrequest练习•请编码实现如下效果:response对象•Reponse–被封装成HttpServletResponse接口。–它封装了JSP产生的响应,然后被发送到客户端以响应客户的请求。•和request对象一样,它由容器生成,作为jspService()方法的参数被传入JSP。因为输出流是缓冲的,所以可以设置HTTP状态码和response头。response对象的主要方法:sendRedirect()把响应发送到另一个位置进行处理sendError()向客户端发送错误信息addCookie()添加一个Cookie对象,用来保存客户端的用户信息getCharacterEncoding()返回用于MIME编码的字符集合setCharacterEncoding()设置用于MIME编码的字符集合page对象•page对象–是java.lang.Object类的一个实例。它指的是JSP实现类的实例,也就是说它是JSP本身,通过这个对象可以对它进行访问。•JSP实现了类对象的一个句柄,只有在JSP页面的范围内才是合法的。config对象•config对象–被封装成javax.servlet.ServletConfig接口–它表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给初始化的Servlet。exception对象•exception对象–是java.lang.Throwable类的一个实例。•它指的是运行时的异常,也就是被调用的错误页面的结果,只有在错误页面(在页面指令中要有isErrorPage=ture的页面)中才可以使用。session对象•session对象–是HttpSession的一个实例.–HttpSession由服务器的程序实现,–提供HTTP服务器和HTTP客户端之间的会话。会话就是在给定时间段内持续进行多路连接和请求。–会话被用来在多页面请求中保持状态和用户认证。•session用来储存访问者的一些特定信息,服务器就是根据session来跟踪这些信息的。•session可以创建访问者信息容器。•session跟踪访问者的访问路径,从中挖掘有用的信息。•session在JSP程序中是一个内置的对象,每一个客户端都有一个session对象用来存放这个客户端相关的数据。session对象的方法setAttribute()设置指定名称为name的属性值value,并将之储存在session对象中getAttribute()获取于指定名称name相联系的属性值getAttributeNames()返回session对象中存储的每一个属性对象,其结果为一个枚举类的实例removeValue()移去和会话应用层数据中指定名称相连的对象isNew()如果客户端不接受使用session,那么每个请求都会产生一个session对象invalidate()使会话无效,并将其从上下文中移出getSessionContext()返回会话相连的上下文getLastAccessTime()返回客户端上一次发送携带会话账号的时间getId()返回会话标识符getCreationTime()返回会话创建的时间application对象•application对象–用于在多个程序中保存信息。–可以实现所有用户间共享信息的功能,并可以在Web应用程序运行期间持久地保持数据。•与application相联系的是ServletContext类,通过调用getServletConfig().getContext()方法得到。•一旦创建application对象,该对象将一直保持下去,直到服务器关闭为止。•注意:每个用户的application对象都是相同的,每一个用户都共用同一个application对象。pageContext对象•pageContext对象–被封装成javax.servlet.jsp.pageContext接口,它为JSP页面提供包装页面的上下文功能。–管理对属于JSP中特殊可见部分已命名对象的访问。它的创建和初始化都是由容器来完成的,JSP页面中可以直接使用pageContext对象的句柄。•pageContext对象的getXXX()、setXXX()和findXXX()方法用来根据不同的对象范围实现对这些对象的管理。•pageContext对象主要是管理对属于JSP特殊可见部分中已经命名对象的访问。pageContext对象常用方法forward(StringrelativeUrlPath)把页面重定向到另外一个页面或者Servlet组件上getAttribute(Stringname,[ntscope])scope参数是可选的。该方法用来检索一个特定的已经命名的对象的范围,并且还可以通过调用getAttributeNamesScope()方法,检索第某个特定范围的每个属性String字符串名字的枚举。getException()返回当前的Exception对象。getRequest()返回当前的request对象。getResponse()返回当前的Response对象。getServletConfig()返回当前页面的servletConfig对象。getservletContext()返回servletContext对象。getSession()返回当前页面的Session对象。findAttribute()方法则是可以用来按照页面、请求、会话以及应用程序范围的顺序实现对某个已命名属性的搜索。se
本文标题:jsp九大内置对象.
链接地址:https://www.777doc.com/doc-2882173 .html