ServletContext servletContext = request.getServletContext();
打印servletContext结果是一个内存地址不为空
System.out.println( servletContext.getAttribute("count"));
打印这个显示为null,没有设置setAttribute
------------------------------------------------------------
ServletContext servletContext = request.getServletContext();
ServletContext servletContext1 = request.getSession().getServletContext();
ServletContext servletContext2 = this.getServletContext();
这三个全局对象是一样的,通过布尔判断都是true
-------------------------------------------------------
request.getContextPath()
servletContext.getContextPath()
两个是等效的,显示的是项目映射地址 比如我Tomcat设置的是/javaweb/ 显示的是javaweb 由于我这边没有设置后缀,导致打印之后没有任何显示
servletContext.getRealPath("/")与request.getRealPath("/");
效果一样,只是后者已经过时,仍然可以使用
显示的是项目真实地址,也就是在你电脑的那个文件夹我的结果是C:\Users\Administrator\IdeaProjects\Context\out\artifacts\Context_war_exploded\
------------------------------------------------------------
只需记得以下这三个就行
request.getContextPath()
request.getServletContext();
request.getRealPath("/");