1.四大域对象
1)和属性相关的方法
Object getAttribute(String name) |
获取指定的属性 |
Enumeration getAttributeNames() |
获取所有的属性的名字组成的Enumeration对象 |
void removeAttribute(String name) |
移除指定的属性 |
void setAttribute(String name, Object o) |
设置属性 |
2)含有以上属性方法的域对象
pageContext,request,session,application作用域范围从小到大(Servlet只能用后三个)
pageContext |
属性的作用范围仅限于当前jsp页面,在servlet中无法获取该对象 |
request |
属性的作用范围仅限于同一个请求,主要用于请求转发 |
session |
属性的作用范围仅限于一次会话,从浏览器打开直到关闭称为一次会话(在此期间会话没失效), 在servlet中通过request对象获取 |
application |
属性的作用范围限于当前WEB应用,是范围最大的属性作用范围,只要在一处设置属性,在其他各处的jsp或servlet中都可以获取到,在servlet中对应于ServletContext对象,通过ServletConfig.get..或this,get...获取 |
2.九大内置对象
>> Q: 什么是JSP九大内置对象
A:在JSP中无需创建就可以使用的9个对象,它们是:(要<% .. %>来插入java代码)
- out(JspWriter):等同与response.getWriter(),用来向客户端发送文本数据;
- config(ServletConfig):对应“真身”中的ServletConfig;
- page(当前JSP的真身类型):当前JSP页面的“this”,即当前对象;
- pageContext(PageContext):页面上下文对象,它是最后一个没讲的域对象;
- exception(Throwable):只有在错误页面中可以使用这个对象;
- request(HttpServletRequest):即HttpServletRequest类的对象;
- response(HttpServletResponse):即HttpServletResponse类的对象;
- application(ServletContext):即ServletContext类的对象;
- session(HttpSession):即HttpSession类的对象,不是每个JSP页面中都可以使用,如果在某个JSP页面中设置<%@page session=”false”%>,说明这个页面不能使用session。
在这9个对象中有很多是极少会被使用的,例如:config、page、exception基本不会使用。
在这9个对象中有两个对象不是每个JSP页面都可以使用的:exception、session。
3.EL表达式内置对象
全域查找