Servlet:ServletContext

如何理解ServletContext:感觉以下理解比较容易理解
摘自:doodoofish(嘟嘟鱼)
ServletContext翻译成中文是"Servlet上下文"﹐不好理解吧?
其实说简单了就是Servlet运行的环境﹐这个环境里的信息是给所有Servlet共享的。
所有Servlet都可以通过getServletContext().getAttribute()和getServletcontext().setAttribute()来操作这些信息。
你可以把保存在ServletContext里的信息理解为"全局变量"﹐而把ServeletContext本身理解为存放这些全局变量的一个"包"。

所以﹐有些信息如果只有一个Servlet会用到﹐就没有必要放在ServletContext里﹔相反信息会被好几个Servlet用到﹐就需要把这个 信息存放在ServletContext这个存放"全局变量"的"包"里面﹐以便让其他Servlet共享到这些"全局变量"。

另外﹐如果你知道JSP﹐就会发现"ServletContext"在JSP里变成了"application"了。其实叫做application更贴 切﹐因为ServletContext里的信息(全局变量)对于整个web app里的Servlet来说都是共享的﹐因此这些信息实际上是属于application级别的(application-level)。
    
想象你编写的传统C程序﹐有局部变量(函数级别的)和全局变量(application级别的)﹐套过来想就能够理解ServletContext是干什么的了---存放相对于Servlet来说的全局变量﹐并提供了让Servlet交互的桥梁。
那么什么对象存放了相对于Servlet来说的"局部"变量呢?你自己想想看吧。
    

你可能感兴趣的:(Servlet:ServletContext)