介绍
web应用启动后,就会创建 ServletContext 对象,在 jsp 中就是 application 对象
类
ServletContext
生命周期
创建:启动 web应用时,就会创建该对象,只会创建一个,运行期间一直存在
销毁:关闭 web应用时,就会 销毁
应用场景
- 获取工程的绝对路径
- 获取 web.xml 中配置的上下文参数 context-param
- application对象只有一个,相当于全局对象,存放在application的数据也就成了全局数据,可实现用户间数据的共享
注意: 使用较少,因为 web应用运行期间不会销毁该对象,如果一直存放数据,这些数据也得不到销毁,会导致内存溢出
获取 application
jsp:可以直接使用 application 对象
servlet:通过 request 对象获取,如下:
javax.servlet.ServletContext application=request.getServletContext();
常用方法:
- String getRealPath(String path) 返回工程路径
- String context.getContextPath() 获取 url 上下文,一般通过 request 对象获取
- void setAttribute(key, value); 将 key/value 存入到 application 对象中
- Object getAttribute(key); 根据key获取value
- void removeAttribute(String name) 删除key/value
例子
System.out.println( "当前工程路径:" + application.getRealPath("/") );
获取该路径后,可以在工程路径下动态创建 文件夹、文件
如:上传文件,一般将文件保存到 工程路径 下