当Tomcat启动的时候,就会创建一个ServletContext对象。它代表着当前web站点。
ServletContext的用途?
-
ServletContext既然代表着当前web站点,那么所有Servlet都共享着一个ServletContext对象,所以Servlet之间可以通过ServletContext实现通讯。
-
ServletConfig获取的是配置的是单个Servlet的参数信息,ServletContext可以获取的是配置整个web站点的参数信息
-
利用ServletContext读取web站点的资源文件
-
实现Servlet的转发【用ServletContext转发不多,主要用request转发】。
实现servlet之间通讯如下图所示
配置整个web站点的参数如图所示
读取web站点资源文件
我们以前读取文件的时候,如果程序和文件在同一包名,可以直接通过文件名称获取得到的!,原因很简单,以前我们写的程序都是通过JVM来运行的,而现在,我们是通过Tomcat来运行的。
我们通过ServletContext读取文件就可以避免修改代码的情况,因为ServletContext对象是根据当前web站点而生成的。
原则:如果文件太大,就不能用类装载器的方式去读取,会导致内存溢出。