JSP一共有9个内置对象:request、response、session、application、out、pagecontext、config、page、exception。
-
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()
-
response对象。
response对象是javax.servlet.http.HttpServletResponse的一个实例。服务端 的相应信息封装在response中返回。
重定向客户端请求 response.sendRedirect(index.jsp)
-
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)
-
application对象。
application对象是javax.servlet.ServletContext的一个实例。
实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器的关闭,在此期间,此对象将一直存在。
添加obj到Application对象 application.setAttribute(String key,Object obj)
获取Application对象中的值 application.getAttribute(String key)
-
out 对象。
out对象是javax.servlet.jsp.jspWriter的一个实例。用于浏览器输出数据。
输出各种类型数据 out.print()
输出一个换行符 out.newLine()
关闭流 out.close()
-
pageContext 对象。
pageContext 对象是javax.servlet.jsp.PageContext的一个对象。作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application 等对象。
-
config 对象。
config 对象是javax.servlet.ServletConfig的一个对象。主要作用是取得服务器的配置信息。通过 pageConext对象的 getServletConfig() 方法可以获取一个config对象。
-
cookie 对象。
cookie 对象是Web服务器保存在用户硬盘上的一段文本。唯一的记录了用户的访问信息。
将Cookie对象传送到客户端 Cookie c = new Cookie(username",john");
读取保存到客户端的Cookie response.addCookie(c)
-
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到页面二进行异常处理。