JavaWeb09_ServletContext

概念

代表整个web应用(项目),可以和程序的容器(服务器软件)来通信

获取ServletContext对象

        //ServletContext对象的获取
        //方式1:通过request对象获取
        ServletContext servletContext1 = req.getServletContext();
        //方式2:通过HttpServlet获取
        ServletContext servletContext2 = getServletContext();


        System.out.println(servletContext1 == servletContext2);//true

ServletContext的功能

1.获取MIME类型
2.域对象:共享数据
3.获取文件的真实路径(服务器路径)

1.获取MIME类型

方法:String 个体Mime Type(String file)
此方法是根据文件的扩展名来获取MIME类型的

        ServletContext servletContext1 = req.getServletContext();
        String filename = "a.jpg";

        String mimeType = servletContext1.getMimeType(filename);
        System.out.println(mimeType);

2.域对象

方法:

setAttribute(String name,Object value)
getAttribute(String name)
removeAttribute(String name)

ServletContext对象范围:所有用户所有请求的数据
生命周期:服务器启动到服务器关闭
因此此对象中尽量不要存太多数据,占内存!

在Servlet1中设置的,可以在Servlet2中获取

3.获取文件的真实路径

方法:

	String getRealPath(String path);
        ServletContext servletContext1 = req.getServletContext();
        System.out.println(servletContext1.getRealPath("/b.txt"));
        System.out.println(servletContext1.getRealPath("/WEB-INF/classes/a.txt"));
        System.out.println(servletContext1.getRealPath("/WEB-INF/c.txt"));

只要知道web目录对应根目录
src中的java源文件会变成\WEB-INF\classes下的文件即可
JavaWeb09_ServletContext

上一篇:ServletContext作用功能详解


下一篇:JavaWeb四大作用域,你都了解吗?