ServletContext(上下文) 对象
1.什么是ServletContext对象:
ServletContext用来存放全局变量,每个Java虚拟机每个Web项目只有一个ServletContext,这个ServletContext是由Web服务器创建的,
来保证它的唯一性。由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext
对象通讯。ServletContext对象通常也被称之为Context域对象。
2.ServletContext对象的生命周期:
创建:该web应用被加载且服务器开启时创建;
销毁:web应用被卸载(移除该项目应用)或者服务器关闭。
3.ServletContext对象的作用:
ServletContext可以实现共享数据
可以再不同的请求中,拿到其他的参数
4.获取ServletContext对象:
//通过request 获取 request.getServletContext();
//通过 HttpServlet 获取 //我们使用的 servlet 继承了 HttpServlet这个类,可以这样获取: this.getServletContext();
5.ServletContext应用:
共享一个数据
实现Servlet请求的转发
注意:重定向与转发的区别
1---地址栏的区别:转发地址栏不变
2---处理请求资源的位置不同:sendRedirect()方法可以跨WEB应用程序和服务器重新定位资源来处理请求。forward()方法只能在应用程序内部转发。
3---传值不同: forward()方法能在转发的地址中获取存入的作用域的值。但是,重定向不能。
请求转发示意图:
重定向示意图: