ServletConfig 在servlet对象创建之后创建,每有一个servlet对象就有对应的servletConfig对象。
ServletContext 在Tomcat服务器加载Web项目后由Tomcat创建,一个web项目在Tomcat的启动运行中只有一个Context对象。
ServletContext 对象:
ServletContext 是一个全局对象,代表整个 Web 应用程序的上下文环境。
它在 Web 应用启动时由 Servlet 容器创建,只有一个实例。
ServletContext 存储了 Web 应用程序的共享数据,例如全局参数、数据库连接池、共享资源等。
内存地址:ServletContext 对象的内存地址是固定的,因为它是全局的,不会随着请求的变化而改变。
ServletConfig 对象:
ServletConfig 是每个 Servlet 实例的配置对象,每个 Servlet 都有一个对应的 ServletConfig。
它用于封装 Servlet 的初始化参数,这些参数在 web.xml 文件中配置。
每个 Servlet 实例都有自己的 ServletConfig,因此不同 Servlet 的 ServletConfig 对象是不同的。
内存地址:每个 Servlet 实例都有一个独立的 ServletConfig,因此其内存地址也是不同的。
得出结论:
ServletContext 是全局的,用于整个 Web 应用的共享数据,内存地址不变。
ServletConfig 是针对当前 Servlet 的,用于获取初始化参数,每个 Servlet 实例都有独立的 ServletConfig,内存地址不同。