jsp内置对象
jsp的内置对象主要有 pageContext,request,response,session,application等
他们的对应的包和作用描述
pageContext-----------javax.servlet.jsp.PageContext-----------------------------jsp的页面容器
request------------------javax.servlet.http.HttpServletRequest--------------------获取用户的请求信息
response---------------javax.servlet.http.HttpServletResponse------------------返回信息给用户
session-----------------javax.servlet.http.HttpSession------------------------------保存每一个用户的信息
application-------------javax.servlet.ServletContext----------------------------------表示所有用户的共享信息
jsp的四种属性范围
pageContext ,request,session,application 这些实例都有 setAttribute(String,Object)和getAttribute(String,Object)方法 这两个方法用于在对象中存取键值对
这四个对象分别代表着四个属性范围:
pageContext------------------------------设置的属性只能在本页面中被取得
request-------------------------------------设置的属性在本页面和在由本页面通过服务器端跳转的页面内起作用
session------------------------------------设置的属性对于每一个用户只能访问自己的设置的session属性
application---------------------------------设置的属性对于所有的用户和所有的页面都是共享的
其中要注意的是:pageContext接口中(从父接口集成)有getAttribute(String name, int scope)方法其中scope指定了属性的范围,意思就是说,pageContex对象设置的属性,可以通过制定scope参数规定他的属性范围。而不仅仅是其默认的属性范围,从j2ee api文档可以查询出,PageContext接口中已经定义了一些静态的int型字段代表pageContext的属性范围,分别为:SESSION_SCOPE,APPLICATION_SCOPE,REQUEST_SCOPE ,只要设置了对应的scope范围,那么pageContext内置对象创建的属性就能和session,application,request对象创建的属性范围一样了。
在j2ee api文档中可以看出,这些内置对象对应的只是一些接口,你一定会疑惑接口的实现在哪儿呢,我告诉你是web容器实现了这些接口。