九大内置对象
- Request
HttpServletRequest - Response
HttpServletResponse - Session
HttpSession(有开关) - Application(Context)
ServletContext - Config
ServletConfig - Page
this(也就是当前的servlet对象) - Exception
java.lang.Throwable(有开关) - Out
jspWriter
- jsp九大隐式对象之一,其作用和servlet中的response.getWriter()对象(即PrintWriter)基本一样,不过呢,它是自带缓冲区的
- out的缓冲区:
- 缓冲区默认大小是8kb,可以通过page指令的buffer属性(有开关)设置其缓冲区大小
- 怎样才会输出
- buffer被关闭了,设置为none
- 缓冲区满了
- jsp页面加载完毕
- 输出过程
pageContext
javax.servlet.jsp.PageContext- jsp中最重要的隐式对象,为什么最重要呢?因为通过它可以获取到其他八个对象
PageContext的三大作用
可以获取到其他八大隐式对象
PageContext本身是一个域对象,通过它还可以操作其余三个域对象
浏览器中的输出
由此可以知道,通过pageContext取出各个域对象设置的属性的时候,需要指定该域对象的权限值
3. PageContext提供了转发和包含的方便的方法(比用servlet转发要方便许多)
* 用forward代替request.getRequestDispatcher(path).forward这个方式来转发
* 用include代替原来的jsp标签中的包含标签<%@include file="........."%>
4. 要注意的地方
* 用pageContext的findAttribute()方法的时候,如果该属性是每个域对象都有的时候:
这样的话,取出的时候会取出最小的域对象设置的属性
四大域对象
- Appliaction Content
- Session
- Request
- pageContext
- 作用域大小
- Application> Session > Request > pageContext
- Application 整个站点,服务器关闭了才失效
- Session 一次会话,客户端(浏览器关闭了就失效了)
- Request 一次请求(就一次重定向就没用了)
- pageContext 就只在当前页面有用