四大作用域:
1.servletcontext域(application域)
作用的范围是:整个web应用程序。
数据产生之后,不仅等会还要用 ,还要给别人用,则使用servletcontext。作用域的作用:由于一个web应用中的所有servlet共享同一个servletcontext对象,所以多个servlet通过servletcontext对象实现了数据在不同servlet之间的共享
作用域的优缺点:JSP中可嵌入java代码,这使得它接收java数据变得可能。同时,由于servletcontext域可使整个web应用共享该数据,因此而带来“线程安全”问题同样影响对转发的数据,故而需要使用request域。
它是四个域中范围最大的域。
2.Httpsession域(session域)
作用的范围是:一次会话。
数据产生之后显示给用户了,等会还要使用的情况下使用Httpsession域。作用域的作用:(会话范围)在第一次调用request.getSession()方法时,服务器会检查是否已经有对应的session。如果没有,就在内存中创建一个session并返回。当一短时间内(默认30分钟)session没有被使用,则服务器会销毁该session。若服务器非正常关闭,未到期的session也会跟着销毁。若调用session提供的invalidate()方法,可以立即销毁session。
它是四个域中范围第二大的域。
3.ServletRequest域(request域)
作用的范围是:整个请求链(请求转发也存在)。
数据产生之后,只需要使用一次,这种情况下请使用ServletRequset域。
它是四个域中范围排第三的域。作用域的作用: 在整个请求链*享数据。
最常用到:在servlet中处理好的数据交给JSP显示,此时参数就可以放置在ServletRequset域它是四个域中范围排第三的域。
4.ageContext域(page域)
作用的范围是:
PageContext域的作用范围是:整个JSP页面。作用域的作用:
1).它可以获取其它八大隐式对象,可以认为它是一个入口对象。
2).获取其它所有域中的数据。
3).跳转到其它资源。其身上提供了forword和sendRedirect方法,简化了转发和重定向的操作它是四个域中范围最小的一个域。
九大内置对象:
request、response、out、
session、application、pageContext、
page、config、
exception
内置对象(又叫隐含对象)特点:
1. 由JSP规范提供,不用编写者实例化。
2. 通过Web容器实现和管理
3. 所有JSP页面均可使用
4. 只有在脚本元素的表达式或代码段中才可使用(<%=使用内置对象%>或<%使用内置对象%>)
对象名 | 功能 | 类型 | 作用域 |
---|---|---|---|
request | 向客户端请求数据 | javax.servlet.ServletRequest | Request |
response | 封装了jsp产生的响应,然后被发送到客户端以响应客户的请求 | javax.servlet.SrvletResponse | Page |
pageContext | 为JSP页面包装页面的上下文。管理对属于JSP中特殊可见部分中己经命名对象的该问 | javax.servlet.jsp.PageContext | Page |
session | 用来保存每个用户的信息,以便跟踪每个用户的操作状态 | javax.servlet.http.HttpSession | Session |
application | 应用程序对象 | javax.servlet.ServletContext | Application |
out | 向客户端输出数据 | javax.servlet.jsp.JspWriter | Page |
config | 表示Servlet的配置,当一个Servlet初始化时,容器把某些信息通过此对象传递给这个Servlet | javax.servlet.ServletConfig | Page |
page | Jsp实现类的实例,它是jsp本身,通过这个可以对它进行访问 | javax.lang.Object | Page |
exception | 反映运行的异常 | javax.lang.Throwable | Page |