JSP九大内置对象
首先说一下有些什么内置对象吧:
名称 | 功能 | 类型 | 作用域 |
---|---|---|---|
request | 请求对象 | 类型 javax.servlet.ServletRequest | 作用域 Request |
response | 响应对象 | 类型 javax.servlet.SrvletResponse | 作用域 Page |
pageContext | 页面上下文对象 | 类型 javax.servlet.jsp.PageContext | 作用域 Page |
session | 会话对象 | 类型 javax.servlet.http.HttpSession | 作用域 Session |
application | 应用程序对象 | 类型 javax.servlet.ServletContext | 作用域 Application |
out | 输出对象 | 类型 javax.servlet.jsp.JspWriter | 作用域 Page |
config | 配置对象 | 类型 javax.servlet.ServletConfig | 作用域 Page |
page | 页面对象 | 类型 javax.lang.Object | 作用域 Page |
exception | 例外对象 | 类型 javax.lang.Throwable | 作用域 page |
内置对象(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用
1. request对象
request对象是javax.servlet.http.HttpServletRequest对象的一个实例。每当客户端请求页面时,JSP引擎将创建一个新对象来表示该请求。
request对象提供了获取包括表单数据,Cookie,HTTP方法等HTTP头信息的方法。
2. response对象
response对象是javax.servlet.http.HttpServletResponse对象的一个实例。就像服务器创建request对象一样,它还创建一个对象来表示对客户端的响应。
response对象还定义了处理创建新HTTP头的接口。通过此对象,JSP程序员可以添加新的Cookie或日期戳,HTTP状态代码等。
3. out对象
out隐式对象是javax.servlet.jsp.JspWriter对象的一个实例,用于在响应中发送内容。
初始化JspWriter对象根据页面是否缓存而不同地实例化。缓冲可以通过使用page指令的buffered ='false’属性来关闭。
JspWriter对象包含与java.io.PrintWriter类大部分相同的方法。但是,JspWriter还有一些额外的方法用来处理缓冲。与PrintWriter对象不同,JspWriter会抛出IOExceptions异常。
4. session对象
session对象是javax.servlet.http.HttpSession的一个实例,其行为与Java Servlet下的会话对象行为完全相同。
session对象用于跟踪客户端请求之间的客户端会话。
5. application对象
application对象是生成的Servlet的ServletContext对象的直接包装,实际上是javax.servlet.ServletContext对象的一个实例。
application对象是JSP页面在其整个生命周期中的表示。 当JSP页面被初始化时,将创建此对象,并且在JSP页面被jspDestroy()方法删除时application对象也将被删除。
通过向application对象添加属性值,可以确保组成Web应用程序的所有JSP文件都可以访问它。
6. config对象
config对象是javax.servlet.ServletConfig的实例化,是生成的servlet的ServletConfig对象周围的直接包装。
7. pageContext对象
pageContext对象是javax.servlet.jsp.PageContext对象的一个实例。pageContext对象用于表示整个JSP页面。
8. page对象
page对象是对该页面实例的实际引用。可以认为它是表示整个JSP页面的对象。
page对象是this对象的直接同义词。
9. exception对象
exception对象是一个包含上一页抛出的异常的包装器。它通常用于生成对错误条件的适当响应。
JSP的四大作用域:
Application Sesstion Page request
Application:表示的是整个浏览器的范围只要服务器没有关闭,它就一直存在比如网站的统计。Sesstion表示建立一次会话,在关闭浏览器之前会话一直存在,Page表示当
前页面,跳出当前页面之后就失效。request表示一次请求,在请求的范围内有效。
JSP的七个动作指令:
jsp:forward:页面跳转,其实就是request.getRequestDispatcher(“index.jsp”).forward(request, response)演化而来。
jsp:param:用于传递参数,前提是必须与其他支持它的标签一起使用
jsp:include:用于动态在当前的JSP中嵌入另一个JSP页面(被包含的JSP页面是通过方法来实现动态包含的,并且被包含的内容只有,相对静态包含不会出现重复的声明)
jsp:plugin:用于下载JavaBean或Applet到客户端执行
jsp:userBean:创建一个JavaBean实例,其实就是类似<% %>的java代码块中创建一个对象实例
jsp:setProperty:设置JavaBean实例的属性值
jsp:getProperty:获取JavaBean实例的属性值
JSP的三个编译指令:
Page指令:对当前页面进行的指令
include指令:一般用来引入另外一个JSP页面,属于静态包含
taglib指令:定义自定义标签
使用的指令格式 <%@ >