为了便于Web开发,在JSP内部设置了一些默认的对象,这些对象不需要预先声明就可以在脚本和表达式中使用。内置对象也称隐含对象。共有9个内置对象,如下:
输入输出对象:request,response,out;
作用域控制对象:page,session,application;
错误处理对象:exception;
Servlet相关对象:config,pageContext
1.request对象
request对象是HttpServletRequest类的实例。从客户端将用户的请求信息封装在request对象中,通过http协议将请求传送到服务器。request对象的作用域为一次请求。推荐博客:
2.response对象
response对象是HttpServletResponse类的实例。将服务器对客户端用户的请求的响应封装在response对象中,将响应再传送回客户端。response对象的作用域只在JSP页面内有效。推荐博客:
3.out对象
out对象是javax.servlet.jsp.JspWriter类的实例。是向客户端浏览器输出信息时使用的一种输出流。对out对象的应用不多,但是要注意清除数据缓冲区,另外要及时关闭输出流。out对象的作用域是页面内有效。
4.page对象
page对象java.lang.Object类的实例。page对象代表JSP页面本身。类似于Java代码中的this。
5.session对象
session对象是HttpSession类的实例。是服务器自动为每个用户创建的,与用户请求相关的一个对象。session对象中保存用户的信息,可以据此跟踪用户的状态。在session中使用"key/value"键值对来保存数据。session对象的作用域为一次会话,到客户端与服务器断开连接为止。
6.application对象
application对象是ServletContext类的实例。类似于全局变量,实现了数据共享。并且application对象生命周期唱,自服务器启动时存在,知道服务器关闭。
在Java编程过程中这样获取:
int pageSize =Integer.parseInt(this.getServletContext().getInitParameter("page-size"));
7.exception对象
exception对象是java.lang.Throwable的实例。是一个异常对象,exception对象的作用是显示异常信息,只有在包含 isErrorPage="true"的页面中才可以被使用,在一般的JSP页面中使用该对象将无法编译JSP文件。推荐博客:
8.pageContext对象
pageContext对象的作用是取得任何范围的参数,通过它可以获取 JSP页面的out、request、reponse、session、application等对象。pageContext对象的创建和初始化都是由容器来完成的,在JSP页面中可以直接使用 pageContext对象。
9.config对象
config对象主要是取得服务器的配置信息。在初始化servlet时,将信息通过config对象传递给对应的servlet。通过pageContext对象的getServletConfig() 方法可以获取一个config对象。
下面以filter和servlet为例,在web.xml中为程序进行初始化参数。
servlet也可以如同filter一样,传递参数或者进行参数初始化,如下: