JSP的隱含對象:
不需要new,就可以直接使用的一組對象。
tomcat自動建立,只能使用在運算式指令碼<%= %>和普通指令碼<% %>中。
1、request【重點】
類型:javax.servlet.http.HttpServletRequest
方法:request.getParameter("txtUsername");
request.setCharacterEncoding("gbk");
request.setAttribute(String, Object)
request.getAttribute(String);
request.getSession(true);
request.getRequestDispatcher("/url-pattern");
request.getCookies();
2、session【重點】
類型:javax.servlet.http.HttpSession
方法:session.getId()
session.setAttribute(String, Object)
session.getAttribute(String)
session.removeAttribute(String)
session.invalidate()
開始:client第1次發出JSP請求時,session即開始
結束:逾時,invalidate()
3、response
類型:javax.servlet.http.HttpServletResponse
方法:response.setContentType("text/html");
response.getWriter();
response.setCharacterEncoding("gbk");
response.sendRedirect("/web應用程式名稱/url-pattern");
4、out
類型:javax.servlet.jsp.JspWriter
方法:out.print()//往IE列印
out.println()//往IE列印,在原始碼中添加換行
out.write()//往IE列印,通常使用者列印常量
5、application
類型:javax.servlet.ServletContext
方法:application.getInitParameter("name");
application.setAttribute(String, Object)
application.getAttribute(String)
application.removeAttribute(String)
6、page
類型:java.lang.Object
代表當前JSP頁面,可以理解成this,jsp是特殊的servlet類,產生jsp頁面也就產生相應的servlet執行個體。page代表當前servlet對象執行個體,一般不用。
7、config
類型:javax.servlet.ServletConfig
8、exception
類型:java.lang.Throwable
只能使用在 <%@ page isErrorPage="true" %>的JSP中。
9、pageContext
它是pageContext的對象,PageContext是JspContext的子類
1) 可以擷取其它8個隱含對象
JspWriter o = pageContext.getOut();
2) 範圍(JSP中一共有4個範圍對象,從小到大:pageContext、request、session、application)
當前請求中的一個頁面
類型:javax.servlet.jsp.PageContext
方法:pageContext.setAttribute(String, Object);
pageContext.getAttribute(String);
3)可以訪問其它3個範圍中的命名屬性
//從4個範圍從小到大搜尋指定的命名屬性,找到即停止
方法:pageContext.findAttribute(String);//jspContext裡面的方法
//從指定範圍中擷取命名屬性
pageContext.getAttribute("name", PageContext.APPLICATION_SCOPE)
4)include/forward
jsp四種範圍對象
pageContext,request,session,application
servlet三種範圍對象
request,session,application
EL中的四個範圍對象
pageScope,requestScope,sessionScope,applicationScope