JSP九大内置对象和四大作用域

JSP有九大内置对象:out对象、respond对象、session对象、application对象、exception对象、request对象、page对象、config对象、pageContext对象;四大作用域有:page、session、request、application。

九大内置对象:

1、out对象

 out对象是JSP中使用最频繁的对象,它的作用是向客户端输出数据。同时,out对象还可以管理应用服务器上的输出缓冲区。总之,out对象就是输出流。


 out对象方法:

 out.print(type):  输出数据。把java原始对象的数据类型输入到客户端的缓冲区。

 out.println(type):  输出带有换行符的数据。除了把内容输出到客户端,还在后面添加一个空行,但是这个空行在浏览器解析时被忽略。要想真正在页面中换行,需要通过out.println("<br>")来实现。
           out.newLine():   输出一个换行符。
          out.flush():  输出缓冲区里的数据。
        out.close():  关闭输出流。
      out.clearBuffer():  清除缓冲区里的数据,并把数据输出到客户端。如果输出流已经flush,不会抛出错误。
  out.getBufferSize():  获取缓冲区的大小。缓冲区的大小可用<%@pqe buffer="size"%>设置。
  out.getRemaining():  活的缓冲区中没有被占用的大小。

 out.isAutoFlush():  返回布尔值,标志是否自动刷新。可用<%@page isAutoFlush()="true|false"%>来设置。


2、 request对象

  request对象是HttpServletRequest的子类,主要用于接收客户端通过HTTP协议链接传输到服务器端的数据。当客户端请求JSP网页时,客户端的请求信息将被JSP引擎封装在request对象中,通过request对象调用相应的方法便可以获取用户提交的信息。


 request对象方法:

 String getMethod():  得到提交方式,返回String类型。

String getRequestURI():  得到请求的URL地址,返回String类型。

String getProtocol():  得到协议名称返回String类型。

String getServletPath():  获得客户端请求服务器文件的路径,返回String类型。

String getQueryString():  得到URL的查询部分,对于post方式来说,该方法得不到任何信息。返回String类型。

String getServerName():  得到服务器的名称,返回String类型。 

String getServerPort():  得到服务器的端口号,返回String类型。    

String getRemoteAddr():  得到服务器的IP地址,返回String类型。

getAttribute(string):  返回由name指定的属性值,若指定的属性值不存在,则返回null。

getattributeNames():  返回request对象所有属性的名字,结果集是Enumeration(枚举)类的实例。

getHeaderNames():  返回所有请求标头(request header)的名字,结果集是Enumeration(枚举)类的实例。

getHeaders(String name):  返回指定名字的请求标头(request header)的所有值,结果集是Enumeration(枚举)类的实例。

getParameter(String name):  获得客户端传送给服务器端的参数值,该参数由name指定。

getParameterValues(String name):  获得参数name包含的值(一个或多个)。

setAttribute(string name,java.lang.Object object):  设置名为name的request参数的值。

removeAttribute():  删除请求中的属性。

getCookies():  返回客户端的所有Cookie对象,结果是Cookie数组。

getSession([Boolean create]):  返回和请求相关的session。create参数是可选的。


3、response对象

         和request对象一样,response对象也是由服务器生成的,用于将服务器端数据发送到客户端以响应客户端的请求。


response对象的方法:

addHeader(String name,String value):  该方法将实现添加HTTP文件头。

containsHeader(String name):   该方法判断参数name所指名字的HTTP文件头是否存在,若存在返回true,否则返回false。

setContentType(String st):   该方法可以改变contentType属性的值

encodeURL():  使用sessionId封装URL。若没必要封装URL,返回原值。

sendRedirect(String url):  该方法将实现客户的重定向。

addCookie( Cookie c ookie):  该方法将实现添加一个 Cookie对象

flushBuffer():  强制把当前缓冲区的内容发送到客户端。

getBufferSize():  返回缓冲区的大小。

sendError(int ernum):  该方法实现向客户端发送错误信息。

getOutputStream():  返回客户端的输出流对象。

setHeader(String name ,String value):   该方法将根据HTTP文件头的名字来设定它的值。

4、session对象

      session对象属于javax.servlet.Httpsession。session对象不仅可以保存信息,还提供了session失效时间、生成唯一的编号等功能。


session对象方法:

getId():   每生成一个session对象,服务器都会给其分配独一无二的编号,该方法将返回当前session对象的编号。

getCreationTime():   该方法实现返回创建session对象的时间,以毫秒为单位,从1970年1月1日期计数。

getLastAccessedTime():   该方法实现返回当前session对象最后一次被操作的时间。

getAttribute(String name):   该方法从session对象中提取由参数name指定的对象。

getAttributeNames():   该方法返回session对象中存储的第一个对象。

setAttribute(String key,Object obj):   该方法将参数obj指定的对象添加到session对象中,并为添加的对象指定索引关键字。索引关键字由参数key确定。

setMaxInactiveInterval():   该方法将设置session对象的生存时间,单位为秒。

removeAttribute(String name):  该方法从session中删除由参数name指定的对象。

isNew():  该方法判断是否是新用户。


5、application对象

      application对象由服务器创建,也由服务器自动清除,不能由用户创建和清除。application对象由所有用户共同使用。


application对象的方法:

getAttribute(String name):  返回由参数name指定的、存放在application中的对象。

getAttributeNames():  返回所有存放在application中的对象,结果集是Enumeration(枚举)类的实例。

getInitParameter(String name):   返回由参数name指定的application中某个属性的初始值。

getServerInfo():   该方法获得Servlet的信息。

setAttribute(String name,Object obj):   该方法用来将参数obj指定的对象添加到application对象中,并为添加的对象指定一个关键字。该关键字由name指定。


6、exception对象

       exception对象一般要和page指令一起配合使用,通过指定某个页面为错误处理页面,把JSP文件执行时所发生的错误和异常都集中到那个页面去进行处理。这不仅提高了系统的统一性,程序流程也变得更加简单清晰。


exception对象方法:

getMessage():   该方法返回错误信息。

printStackTrace():   该方法以标准错误的形式输出错误和错误的堆栈。

toString():  该方法以字符串的形式返回对异常的描述。


7、page对象

 page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。


page对象方法:

   getClass:返回此Object的类。

  hashCode(): 返回此Object的hash码。

  equals(Object obj): 判断此Object是否与指定的Object对象相等。 

  copy(Object obj): 把此Object拷贝到指定的Object对象中。 

   Object clone(): 克隆此Object对象。 

  toString(): 把此Object对象转换成String类的对象。 

  notify(): 唤醒一个等待的线程。 

  notifyAll(): 唤醒所有等待的线程。

  wait(int timeout): 使一个线程处于等待直到timeout结束或被唤醒。 

   wait(): 使一个线程处于等待直到被唤醒。 

  enterMonitor(): 对Object加锁。 

  exitMonitor(): 对Object开锁


8、config对象

 config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。

 

config对象方法:

   ServletContext getServletContext():返回含有服务器相关信息的ServletContext对象。 

   String getInitParameter(String name):返回初始化参数的值。 

   Enumeration getInitParameterNames():返回Servlet初始化所需所有参数的枚举。


9、pageContext对象

  pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能的集大成者,它的本类名也叫pageContext。

 

pageContext对象方法:

    getOut():返回当前客户端响应被使用的JspWriter流(out)。 

    getSession(): 返回当前页中的HttpSession对象(session)。 

    getPage(): 返回当前页的Object对象(page)。 

    getRequest(): 返回当前页的ServletRequest对象(request)。 

    getResponse(): 返回当前页的ServletResponse对象(response)。 

    getException(): 返回当前页的Exception对象(exception)。 

    getServletConfig():返回当前页的ServletConfig对象(config)。 

    getServletContext():返回当前页的ServletContext对象(application)。 

    setAttribute(String name,Object attribute):设置属性及属性值。 

    setAttribute(String name,Object obj,int scope):在指定范围内设置属性及属性值。 

    getAttribute(String name):取属性的值

    getAttribute(String name,int scope):在指定范围内取属性的值。 

    findAttribute(String name):寻找一属性,返回起属性值或NULL。 

    removeAttribute(String name):删除某属性。 

    removeAttribute(String name,int scope):在指定范围删除某属性。 

    getAttributeScope(String name):返回某属性的作用范围。 

    getAttributeNamesInScope(int scope):返回指定范围内可用的属性名枚举。 

    release(): 释放pageContext所占用的资源。 

    forward(String relativeUrlPath):使当前页面重导到另一页面。 

    include(String relativeUrlPath):在当前位置包含另一文件。 


四大作用域:

1、如果把变量放到pageContext里,就说明它的作用域是page,它的有效范围只在当前jsp页面里。

2、如果把变量放到request里,就说明它的作用域是request,它的有效范围是当前请求周期。所谓请求周期,就是指从http请求发起,到服务器处理结束,返回响应的整个过程。

3、如果把变量放到session里,就说明它的作用域是session,它的有效范围是当前会话。所谓当前会话,就是指从用户打开浏览器开始,到用户关闭浏览器这中间的过程。

4、如果把变量放到application里,就说明它的作用域是application,它的有效范围是整个应用。整个应用是指从应用启动,到应用结束。


session生命周期:

     session的生命周期是session会话域。打开一个浏览器请求一个网站的页面后,Session开始,当session超过时间限制(一般是20分种)后,session注销而失效 或是人为使用session.invalidate();使用session失效; 或是关闭浏览器时,不会向服务器发送消息,这次回话关联的所有会话数据并不会马上被删除,直到该会话超时才会被删除。


  





  







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值