zoukankan      html  css  js  c++  java
  • 五------Jsp九大内置对象。

    Jsp九大内置对象,当中最基本的是前五个对象。


    5-1
    out对象
    out对象是JSPWriter类的实例。是向client输出内容经常使用的对象。
    out对象经常使用的方法例如以下:
    1。out.println():向client打印字符串
    2,out.clear():清除缓冲区的内容,假设在flush之后调用会抛出异常
    3,out.clearBuffer():清除缓冲区的内容,假设在flush之后调用不会抛出异常
    4,out.flush():将缓冲区内容输出到client
    5,int getBufferSize():返回缓冲区的字节数的大小,如不设缓冲区则为0
    6,int getRemaining():返回缓冲区还剩余多少可用
    7,boolean isAutoFlush():返回缓冲区满时。是自己主动清空还是抛出异常
    8,out.close :关闭输出流


    5-2
    request内置对象
    client的请求信息被封装在request对象中,通过它才干了解到客户的需求,然后做出响应。它是HttpServletRequest类


    的实例。request对象具有请求域,即完毕client的请求之前,该对象一直有效。

    经常用法例如以下。
    1,密码:<%= request.getAttribute("password") %><br>,
    2。请求体的MIME类型:<%= request.getContentType() %><br>
    3,协议类型及版本:<%= request.getProtocol() %><br>,
    4,server主机名:<%= request.getServerName() %><br>
    5,serverport号:<%= request.getServerPort() %><br>
    6,请求文件的长度:<%= request.getContentLength() %><br>
    7。请求client的IP地址:<%= request.getRemoteAddr() %><br>
    8,请求的真实路径:<%= request.getRealPath(path) %><br>
    9.请求的上下文路径:<%= request.getContextPath() %><br>
    10.设置字符码:request.setCharacterEncoding("utf-8");
    11.设置属性值(以设置密码为例):request.setAttribute("password", "123456");
    12.获取单个属性值(以用户名为例):<%= request.getParameter("username") %><br/>
    13.获取多个属性值(以用户提交的爱好为例):
    <%
        if(request.getParameterValues("favorite")!=null){
        String[] favorites=request.getParameterValues("favorite");
        for(String s:favorites){
        out.println(s+"&nbsp;&nbsp;&nbsp;");
        }
    }
    %>


    5-3
    response对象
    response对象包括了响应客户请求的有关信息,但在JSP中非常少直接用到它,它是HttpServletResponse类的实例。


    response对象具有页面作用域,即訪问一个页面时,该页面内的response对象仅仅能对这次訪问有效,其他页面的response


    对象对当前页面无效经常用法例如以下。


    1,response.setContentType("text/html;charset=utf-8");设置响应的MIME类型
    2。String getCharacterEncoding();返回响应用的是何种字符编码。
    3。PrintWriter getWriter()返回能够向client输出字符的一个对象。


    4。response.sendRedirect("reg.jsp");//请求重定向,跳转到指定页面。
    注意:PrintWriter中的getWriter和out内置对象的差别:
    getWriter输出的内容总是先于out输出的内容<br>解决的方法就是在outer输出的代码前强制out.flush


    以下是一个response页面的实例
    <%@page import="java.io.PrintWriter"%>
    <%@ page language="java" import="java.util.*" contentType="text/html; charset=utf-8"%>
    <%
    response.setContentType("text/html;charset=utf-8");//设置响应的MIME类型

    out.println("<h1>response内置对象</h1>");
    out.println("<hr>");
    out.flush();//在输出outer之前清空缓冲区。

    PrintWriter outer=response.getWriter();//获取输出流对象
    outer.println("outer输出的内容总是先于out输出的内容<br>解决的方法就是在outer输出的代码前强制


    out.flush");
    //response.sendRedirect("reg.jsp");//请求重定向,跳转到指定页面。
    %>


    5-4
    session内置对象
    1,什么是session
    session表示client与server的一次会话。
    web中的session指的是用户在浏览某个站点时。从进入站点到浏览器关闭所经过的这段时间。也就是用户浏览这个站点所


    花费的时间。
    从上述定义中能够看到,session实际上是一个特定的时间概念。


    2,session对象
    session对象是一个JSP内置对象。
    session对象在第一个JSP页面被装载时自己主动创建,完毕会话期管理。


    从一个客户打开浏览器并连接到server開始。到客户关闭浏览器离开这个server结束,被称为一个会话。
    当一个客户訪问一个server时,可能会在server的几个页面之间切换,server应当通过某种方法知道这是一个客户,就需


    要session对象。
    session对象是HttpSession类的实例。


    3,session对象经常使用的方法例如以下
    1)long getCreationTime():返回session创建时间
    2)public String getId():返回session创建时。JSP引擎为它设的唯一ID号
    3)public Object setAttribute(String name,Object value):使用指定名称对象绑定到此会话。


    4)public Object getAttribute(String name):返回与此会话中的指定名称绑定在一起的对象。假设没有对象绑定在该


    名称下。则返回null
    5)String[] getValueNames():返回一个包括此session中全部可用属性的数组。
    6)int getMaxInactiveInterval():返回两次请求间隔多长时间此session被取消(单位秒)


    4,session的生命周期
    1)创建:
    当client第一次訪问某个JSP或者Servlet时候,server会为当前会话创建一个SessionId,每次client向服务端发送请求


    时,都会将此SessionId携带过去。服务端会对此SessionId进行校验。


    2)活动:
    某次会话其中通过超链接打开的新页面属于同一次会话。


    仅仅要当前会话页面没有所有关闭。又一次打开新的浏览器窗体訪问同一个项目资源时属于同一次会话。
    除非本次会话的全部页面都关闭后再又一次訪问某个JSP或者Servelt将会创建新的会话。
    注意:当创建新的会话时,原有的会话还存在。这个旧的SessionId仍然存在于服务端。仅仅只是再也没有client会携带它


    交予服务端校验。


    3)销毁
    session的销毁仅仅有三种方式
    a。调用了session.invalidate()方法。
    b。Session过期(超时)建议用这样的销毁方式。


    c,server又一次启动


    补充
    Tomcat默认session超时时间为30分钟。
    设置session超时有两种方式
    1。session.setMaxInactiveInterval(时间);//单位是秒
    2,在web.xml中配置
    <session-config>
    <session-timeout>时间</session-timeout>
    </session-config>
    //单位是分钟。




    5-5
    1。application对象
    application对象实现了用户间数据的共享,可存放全局变量
    与session对象不同的是。全部客户的application对象都是同一个。即全部客户共享application对象,这样


    application对象就能够起到一个全局变量的作用
    application開始于server的启动。终止于server的关闭。


    在用户的前后链接或不同用户之间的连接中,能够对application对象的同一属性进行操作。


    在不论什么地方对application对象属性的操作,都将影响到其它用户对此的訪问
    server的启动和关闭决定了application对象的生命。


    application对象是ServletContext类的实例。




    2。application对象的经常用法例如以下:
    1)public void setAttribute(String name,Object value)使用指定名称将对象绑定到此会话。
    2)public Object getAttribute(String name)返回与此会话中的指定名称绑定在一起的对象,假设没有对象绑定在该


    名称下,则返回null
    3)Enumeration getAttributeNames()返回全部可用属性名的枚举。
    4)String getServerInfo():返回JSP(Servlet)引擎名及版本。


    5-6
    page对象
    page对象就是指向当前JSP页面本身,有点像类中的this指针,它是java.lang.Object类的实例。经常用法例如以下:
    1。class getClass():返回此Object的类
    2,int hashCode():返回此Object的hash码。
    3,boolean equals(Object obj):推断此Object是否与指定的Object对象相等。


    4,void copy(Object obj):把此Object复制到自定的Object对象中。
    5,Object clone():克隆此Object对象:
    6。String toString():把此Object对象转换成String类的对象。
    7,void notify():唤醒一个等待的线程
    8,void notifyAll():唤醒全部等待的线程
    9,void wait(int timeout):使一个线程处于等待直到timeout结束或被唤醒
    10,void wait():使一个线程处于等待直到被唤醒


    5-7
    pageContext对象
    pageContext对象提供了对JSP页面内全部的对象及名字空间的訪问。
    pageContext对象能够訪问到本页所在的session,也能够获取本页所在的application的某一属性值。


    pageContext对象相当于页面中全部功能的集大成者。


    pageContext对象的本类名也叫pageContext。


    经常用法例如以下:
    1,JSPWriter getOut():返回当前client响应被使用的JspWriter流(out)
    2,HttpSession getSession():返回当前页中的HttpSession对象(session)
    3,Object getPage():返回当前页的Object对象(page)
    4,ServletRequest getRequest():返回当前页的ServletRequest对象(request)
    5,ServletResponse getResponse():返回当前页的ServletResponse对象(response)
    6,void setAttribute(String name,Object attribute):设置属性及属性值
    7,Object getAttribute(String name,int scope):在指定范围内获取属性的值
    8,int getAttributeScope(String name):返回某属性的作用范围
    9,void forward(String relativeUrlPath):使当前页面又一次导向还有一个页面
    10,void include(String relativeUrlPath);在当前位置包括还有一个文件


    5-8
    Config对象
    config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包含Servlet初始化时所要用到的參数(通过


    属性名和属性值构成)以及server的有关信息(通过传递一个ServletContext对象)经常使用的方法例如以下:
    1,ServletContext getServletContext():返回含有server相关信息的ServletContext对象。
    2。String getInitParameter(String name()):返回初始化參数的值。
    3,Enumeration getInitParameterNames():返回Servlet初始化所需全部參数的枚举。




    5-9
    Exception对象
    exception对象是一个异常对象,当一个页面在执行过程中发生异常,就产生了这个对象。假设一个JSP页面要应用此对象


    。就必须把isErrorPage设置为true,否则无法编译,他实际上是java.lang.Throwable的对象,经常用法例如以下:
    1,String getMessage():返回描写叙述异常的消息。


    2,String toString():返回关于异常的简短描写叙述消息。
    3,void printStackTrace():显示异常及其栈轨迹。
    4,Throwable FillInStackTrace():重写异常的运行栈轨迹。

  • 相关阅读:
    装饰器
    静态文件---访问图片
    用户登录
    读写Session
    windows进入指定目录
    Response 与 Cookie
    处理HTTP请求
    pycharm中指定ip和端口
    python爬虫学习(三):使用re库爬取"淘宝商品",并把结果写进txt文件
    python爬虫学习(二):定向爬虫例子-->使用BeautifulSoup爬取"软科中国最好大学排名-生源质量排名2018",并把结果写进txt文件
  • 原文地址:https://www.cnblogs.com/wzjhoutai/p/6866871.html
Copyright © 2011-2022 走看看