JSP的内置对象及方法

JSP一共有9个内置对象:request、response、session、application、out、pagecontext、config、page、exception。

  1. request对象。

    resquest对象是javax.servlet.http.HttpServletRequest类的一个实例。客户端的请求信息封装在resquest中发送给服务器端。request的作用域是一次请求。

    请求方式:request.getMethod()

    请求的资源:request.getRequestURI()

    请求用的协议:request.getProtocol()

    请求的文件名:request.getServletPath()

    请求的服务器的IP:request.getServerName()

    请求服务器的端口:request.getServerPort()

    客户端IP地址:request.getRemoteAddr()

    客户端主机名:request.getRemoteHost()

  2.  

    response对象。

    response对象是javax.servlet.http.HttpServletResponse的一个实例。服务端 的相应信息封装在response中返回。

    重定向客户端请求 response.sendRedirect(index.jsp)

  3.  

    session对象。

    session对象是javax.servlet.http.HttpSession的一个实例。在第一个JSP页面被装载时自动创建,完成会话期管理。

    session对象内部使用Map类来保存数据,因此保存数据的格式为 “Key/value”。

    获取Session对象编号 session.getId()

    添加obj到Session对象 session.setAttribute(String key,Object obj)

    获取Session值 session.getAttribute(String key)

  4.  

    application对象。

    application对象是javax.servlet.ServletContext的一个实例。

    实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在。

    添加obj到Application对象 application.setAttribute(String key,Object obj)

    获取Application对象中的值 application.getAttribute(String key)

  5.  

    out 对象。

    out对象是javax.servlet.jsp.jspWriter的一个实例。用于浏览器输出数据。

    输出各种类型数据 out.print()

    输出一个换行符 out.newLine()

    关闭流 out.close()

  6.  

    pageContext 对象。

    pageContext 对象是javax.servlet.jsp.PageContext的一个对象。作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。

  7.  

    config 对象。

    config 对象是javax.servlet.ServletConfig的一个对象。主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。

  8.  

    cookie 对象。

    cookie 对象是Web服务器保存在用户硬盘上的一段文本。唯一的记录了用户的访问信息。

    将Cookie对象传送到客户端 Cookie c = new Cookie(username",john"); 

    读取保存到客户端的Cookie response.addCookie(c)

  9.  

    exception 对象。

    exception 对象的作用是显示异常信息,只有在包含 isErrorPage="true" 的页面中才可以被使用。

    页面一(page1.jsp)主要代码:

    <%@ page errorPage="/page2.jsp" %>
    <%
    int a = 10;
    int b = 0;
    int c = a / b; // 抛出异常
    %>

    页面二(page2.jsp)主要代码:

    <%@ page isErrorPage="true" %>
    <!-- 输出异常信息 -->
    <%=exception.toString() %>

    在页面一中,指定page编译指令erroePage属性值为page2.jsp,当除以0时,会抛出异常,页面继而forward到页面二进行异常处理。

原文地址:https://www.cnblogs.com/cn-chy-com/p/9402321.html