关于servlet的ServletContext的理解

关于servlet的ServletContext,看了许多文章,还没理解它的含义,高手能不能通俗的讲解一下呢?不太理解它的功用,及在servlet编程中所处作用 
 

2楼glassprogrammer()回复于2003-01-23 16:33:59得分20

Context,上下文的意思
    
  怎么理解呢? j2sdkee的javadoc中说到:Defines a set of methods that a servlet uses to communicate with its servlet container.
    
  也就是说,如果你的Servlet需要与自己的运行环境(Container)进行交互时,就需要使用ServletContext,比如,从运行环境得到Servlet的配置信息(getInitParameter方法),得到环境提供的资源(getResource, getResourceAsStream等),通过Servlet Container(也就是应用服务器)记录运行日志(log方法)等等.
Top

3楼totodo(土豆仙)回复于2003-01-23 17:40:15得分10

Servlet的所产生的Java代码和类文件被储存在缺省为TOMCAT_HOME/work的一个特定位置,这个目录在Context元素中被指定。在很多的实例之中,如果一个JSP页面没有像预期的那样进行运作或是如果一个具有行编号的stack trace被显示,你就可以查看所产生的代码来帮助确定所出现的问题。
Top

4楼doodoofish(嘟嘟鱼)回复于2003-01-23 18:25:47得分20

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来说的"局部"变量呢?你自己想想看吧。
    
  我也刚开始学JSP。共勉!

<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script><script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值