jsp application对象和ServletContext

介绍

web应用启动后,就会创建 ServletContext 对象,在 jsp 中就是 application 对象

类

ServletContext

生命周期

创建:启动 web应用时,就会创建该对象,只会创建一个,运行期间一直存在

销毁:关闭 web应用时,就会 销毁

应用场景

  1. 获取工程的绝对路径
  2. 获取 web.xml 中配置的上下文参数 context-param
  3. 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("/") );

获取该路径后,可以在工程路径下动态创建 文件夹、文件

如:上传文件,一般将文件保存到 工程路径 下


原文出处:/show_1IXrhDGfZO0.html