JSP内置对象:没有声明就可以使用的对象。在JSP中一共预先定义了九个隐含对象,分别为request, response, pageContext, session, application, out, config, page和exception。
①. request:
HttpServletRequest 的一个对象.
它封装了由客户端生成的HTTP请求的所有细节,主要包括HTTP头信息、系统信息、请求方式和请求参数等。通过request对象提供的相应方法可以处理客户端浏览器提交的HTTP请求中的各项参数。
作用范围仅限于同一个请求。
②. response:
HttpServletResponse 的一个对象,response对象包含了响应客户请求的有关信息,向客户端输出信息。它封装了JSP产生的响应,并发送到客户端以响应客户端的请求。
response对象具有页面作用域,即访问一个页面时,该页面内的response对象只能对这次访问有效,其它页面的response对象对当前页面无效。
(在 JSP 页面中几乎不会调用 response 的任何方法.)
③. pageContext:
页面的上下文, 是 PageContext 的一个对象. 可以从该对象中获取到其他 8 个隐含对象. 也可以从中获取到当前页面的其他信息. (学习自定义标签时使用它)
作用域仅限当前页面。
④. session:
代表浏览器和服务器的一次会话(浏览器打开直到关闭称为一次对话), 是 HttpSession 的一个对象.
由于HTTP协议是一种无状态协议,也就是当一个客户端向服务器发出请求,服务器接收请求,并返回响应后,该连接就结束了,而服务器是不保存相关的信息。为了弥补这一缺点,HTTP协议提供了session。通过session可以在应用程序的Web页面间进行跳转时,保存用户的状态,使整个用户会话一直存在下去,直到关闭浏览器。
作用范围仅限于一次会话。
⑤. application:
代表当前 WEB 应用. 是 ServletContext 对象. 该对象用于保存所有应用程序中的公有数据。它在服务器启动时自动创建,在服务器停止时销毁。当application对象没有被销毁时,所有用户都可以共享该application对象
作用范围限于当前Web应用(全局),范围最大。
⑥. config:
当前 JSP 对应的 Servlet 的 ServletConfig 对象(几乎不使用). 若需要访问当前 JSP 配置的初始化参数,
需要通过映射的地址才可以.
映射 JSP:
<servlet>
<servlet-name>hellojsp</servlet-name>
<jsp-file>/hello.jsp</jsp-file>
<init-param>
<param-name>test</param-name>
<param-value>testValue</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>hellojsp</servlet-name>
<url-pattern>/hellojsp</url-pattern>
</servlet-mapping>
⑦. out:
JspWriter 对象. 调用 out.println() 可以直接把字符串打印到浏览器上.
⑧. page:
指向当前 JSP 对应的 Servlet 对象的引用, 但为 Object 类型, 只能调用 Object 类的方法(几乎不使用)
⑨. exception:
在声明了 page 指令的 isErrorPage=”true” 时, 才可以使用.。
exception对象用来处理JSP文件执行时发生的所有错误和异常