Jsp内置对象:
1.内置对象:(又叫隐含对象,有9个内置对象):不需要预先声明就可以在脚本代码和表达式中随意使用。
2.使用内置对象的原因:提升开发效率
3.九大内置对象:(request、response、session、out、page、application、exception、pageContext、config)
(1)request对象: 客户端的请求信息被封装在request对象中,通过它才能了解到客户的需求,然后做出响应。它是 HttpServletRequest类的实例。
(2)response对象:response对象包含了响应客户请求的有关信息,但在JSP中很少直接用到它。它是 HttpServletResponse类的实例。
(3)session对象:session对象指的是客户端与服务器的一次会话,从客户连到服务器的一个WebApplication开始,直到 客户端与服务器断开连接为止。它是HttpSession类的实例。
(4)out对象:out对象是JspWriter类的实例,是向客户端输出内容常用的对象。
(5)page对象: page对象就是指向当前JSP页面本身,有点象类中的this指针,它是java.lang.Object类的实例。page对 象代表了正常运行的jsp文件产生的类对象。
(6)application对象:application对象实现了用户间数据的共享,可存放全局变量。它开始于服务器的启动,直到服务器 的关闭,在此期间,此对象将一直存在;这样在用户的前后连接或不同用户之间的连接中,可以对 此对象的同一属性进行操作;在任何地方对此对象属性的操作,都将影响到其他用户对此的访问。 服务器的启动和关闭决定了application对象的生命。它是ServletContext类的实例。
(7)exception对象:exception对象是一个例外对象,当一个页面在运行过程中发生了例外,就产生这个对象。如果一个 JSP页面要应用此对象,就必须把isErrorPage设为true,否则无法编译。他实际上是java.lang. —— Throwable的对象。
(8)pageContext对象:pageContext对象提供了对JSP页面内所有的对象及名字空间的访问,也就是说他可以访问到本 页所在的SESSION,也可以取本页面所在的application的某一属性值,他相当于页面中所有功能 的集大成者,它的本 类名也叫pageContext。
(9)config对象:config对象是在一个Servlet初始化时,JSP引擎向它传递信息用的,此信息包括Servlet初始化时所要用 到的参数(通过属性名和属性值构成)以及服务器的有关信息(通过传递一个ServletContext对象)。
Jsp的作用域:代表数据存储的范围。
1.Jsp的四大作用域:(page、request、session、application)
这四大作用域,其实就是其九大内置对象中的四个,为什么说他们也是JSP的四大作用域呢?
因为这四个对象都能存储数据,比如request.setAttribute()注意和request.setParameter()区分开来,一个是存储在域中 的、一个是请求参数,session.setAttribute()、application其实就是SerlvetContext,自然也有setAttribute()方法。而page作 用域 的操作就需要依靠pageContext对象来进行了。
(1)page作用域:代表变量只能在当前页面上生效。
(2)request:代表变量能在一次请求中生效,一次请求可能包含一个页面,也可能包含多个页面,比如页面A请求转发到 页面B。
(3)session:代表变量能在一次会话中生效,基本上就是能在web项目下都有效,session的使用也跟cookie有很大的关 系。一般来说,只要浏览器不关闭,cookie就会一直生效,cookie生效,session的使用就不会受到影响。
(4)application:代表变量能一个应用下(多个会话),在服务器下的多个项目之间都能够使用。比如baidu、wenku等共享 帐号。