servletConfig 与 servletContext 之间的区别:
servletConfig :
和 servlet 是1对1的关系 Tomcat在初始化每个 servlet 前会给它创建1个 config 调用 HiServlet.init() 前给它创建1个 config 调用 HelloServlet.init() 前给它创建1个 config 如果想给某个 servlet 预置数据,使用 servletConfig
servletContext:
和 servlet 是1对多的关系 Tomcat 在启动的时候就创建唯一的1个 context 所有的 servlet 都可以共享这个对象中的数据 如果想给多个 servlet 预置数据,使用 servletContext
servletConfig 与 servletContext 应用场景:
servletConfig:
假设要开发一个网页游戏 当用户数超出最大在线人数时要排队 登录时判断是否已达到最大人数 登录:LoginServlet 最大在线人数:maxOnline, 可以配置 该参数只给 LoginServlet 自己使用,用 servletConfig 读取即可
servletContext:
软件内有很多的查询功能,都带有分页功能 每页显示的行数 size 是常量,并且可配置 该数据在多个查询之间共用,使用 context 读取
servletContext 的特殊用法:
前提:之前使用 config 和 context 读取的是常量 而 context 还有能力读写变量 用该对象读写的变量是可以被所有的 servlet 所共用的 setAttribute() / getAttribute() 案例:开发流量统计的功能,无论访问哪个功能,流量+1 由于流量是变量,并且在多功能间共用,所以用 context
总结:
当需要给 servlet 预置参数的时候使用这一的对象
若参数只给 一个 servlet 使用,用 servletConfig
若参数给多个 servlet 使用,用servletContext