一、ServletContext对象
1.什么是ServletContext对象
ServletContext代表是一个web应用的环境(上下文)对象,ServletContext对象 内部封装是该web应用的信息,ServletContext对象一个web应用只有一个
ServletContext对象的生命周期?
创建:该web应用被加载(服务器启动或发布web应用(前提,服务器启动状 态))
销毁:web应用被卸载(服务器关闭,移除该web应用)
1.怎样获得ServletContext对象
1)ServletContext servletContext = config.getServletContext();
2)ServletContext servletContext =this.getServletContext();
2.ServletContext的作用
(1)获得web应用全局的初始化参数
web.xml中配置初始化参数
(2)获得web应用中任何资源的绝对路径(重要 重要 重要)
方法:String path = context.getRealPath(相对于该web应用的相对地址);
案例:
工程目录:
Web应用目录:
代码:
public class PathServlet extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
//获得ServletContext对象
ServletContext context = getServletContext();
//2、获得a b c d.txt的绝对路径
//2.1 获得a.txt
String realPath_A = context.getRealPath("a.txt");
System.out.println(realPath_A);
//2.2 获得b.txt
String realPath_B = context.getRealPath("WEB-INF/b.txt");
System.out.println(realPath_B);
//2.3 获得c.txt
String realPath_C = context.getRealPath("WEB-INF/classes/c.txt");
System.out.println(realPath_C);
//2.4 获得d.txt----获取不到
}
public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
doGet(request, response);
}
}
结果: