pageContext对象JSP学习

1、pageContext对象代表上下文,该对象主要用于访问JSP之间的共享数据。使用pageContext可以访问page、request、session、application范围的对象。

2、pageContext是PageContext类的实例,它提供两个方法来访问page、request、session、application范围的变量。

①getAttribute(String name):取得page范围内的name属性

②getAttribute(String name,int scope) 取得指定范围内的name属性,其中scope可以是如下4个值

PageContext.PAGE_SCOPE:对应于page范围

PageContext.REQUEST_SCOPE:对应于request范围

PageContext.SESSION_SCOPE:对应于session范围

PageContext.APPLICATION_SCOPE:对应于application范围

3、与getAttribute()方法相对,PageContext也提供了2个对应的setAttribute()方法,用于将指定变量放入page、request、session、application范围内。

<%@ page contentType="text/html;charset=GBK" language="java" errorPage="errorPage" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>pageContext test</title>
</head>
<body>
<%out.println("pageContext test");%><br/>
pageContext test
<%

pageContext.setAttribute("page","hello,by page");

request.setAttribute("request1", "hello,by request1");

pageContext.setAttribute("request2","hello",pageContext.REQUEST_SCOPE);

session.setAttribute("session1","heloo by session1");
pageContext.setAttribute("session2","hello by session2",pageContext.SESSION_SCOPE);
application.setAttribute("app", "hello by application");

pageContext.setAttribute("app2","hello",pageContext.APPLICATION_SCOPE);


out.println("page变量所在范围:" + pageContext.getAttributesScope("page") + "<br/>");
out.println("request1变量所在范围:" + pageContext.getAttributesScope("request1") + "<br/>");
out.println("request2变量所在范围:" + pageContext.getAttributesScope("request2") + "<br/>");
out.println("session1变量所在范围:" + pageContext.getAttributesScope("session1") + "<br/>");
out.println("session2变量所在范围:" + pageContext.getAttributesScope("session2") + "<br/>");

out.println("app变量所在范围:" + pageContext.getAttributesScope("app") + "<br/>");
out.println("app2变量所在范围:" + pageContext.getAttributesScope("app2") + "<br/>");
%>
</body>

</html>
输出:
pageContext test 
pageContext test page变量所在范围:1
request1变量所在范围:2
request2变量所在范围:2
session1变量所在范围:3
session2变量所在范围:3
app变量所在范围:4
app2变量所在范围:4
结果显示了使用pageContext获取各属性所在的范围,其中这些范围获取的都是整形变量,这些整形变量分别对应如下4个生存范围

①page生存范围

②request生存范围

③session生存范围

④application生存范围

4、pageContext还可以用于获取其他内置对象,pageContext对象包含方法如下:

ServletRequest getRequest();获取request对象

ServletResponse getResponse();获取response对象

ServletConfig getServletConfig();获取config对象

ServletContext getServletContext();获取application对象

HttpSession getSession();获得session对象




你可能感兴趣的:(jsp,内置对象,pageContext)