一、PageContext对象
1.pageContext对象是javax.servlet.jsp.PageContext类的实例,主要表示的是一个JSP页面的上下文。
2.pageContext对象有如下一些方法:
(1)页面跳转
public abstract void forward(String relativeUrlPath)throws ServletException, IOException
(2)页面包含
public void include(String relativeUrlPath) throws ServletException, IOException
(3)取得ServletConfig对象
public ServletConfig getServletConfig()
(4)取得ServletContext对象
public ServletContext getServletContext()
(5)取得ServletRequest对象
public ServletRequest getRequest()
(6)取得ServletResponse对象
public ServletResponse getResponse()
(7)取得HttpSession对象
public HttpSession getSession()
样例:
pageContext_forward01.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>欢迎来到望星空</title></head>
<body>
<%
pageContext.forward("pageContext_forward02.jsp?info=Joywy"); <!-- 括号内?左右不要有空格,否则会报出HTTP Status 404 -->
%>
</body>
</html>
pageContext_forward02.jsp
<%@ page contentType="text/html" pageEncoding="GBK"%>
<html>
<head><title>欢迎来到望星空</title></head>
<body>
<%
//直接从pageContext对象中取得了request
String info = pageContext.getRequest().getParameter("info");
%>
<h3>info = <%=info%></h3>
<h3>realpath = <%=pageContext.getServletContext().getRealPath("/")%></h3>
</body>
</html>
注意:取得的操作实际上是request和response对象所在接口的父接口实例。
pageContext对象中的getRequest()和getResponse()两个方法返回的是ServletRequest和ServletResponse,而常用的request和response分别是HttpServletRequest和HttpServletResponse接口的实例。