Servlet技术之ServletContext接口(学习笔记)

ServletContext接口定义了一系列的与容器通信的方法,例如,得到文件的MIME类型,转发请求,或是写日志文件。每一个Web应用程序(一个Web应用程序是servlet和内容的集合,以.WAR文件的格式被安装在服务器的URL命名空间的特定的子集中,例如/catalog)在每一个java虚拟机里面都有一个上下文(context)。ServletContext植根于Web服务器的一个已知路径里面。例如,一个servlet上下文可以位于http://www.mycorp.com/catalog。所有的以/catalog开始的请求(被叫做上下文路径),都被路由到与这个ServletContext有关的Web应用程序里面。当程序被部署在分布式环境中时,每一个虚拟机将有一个上下文实例。在这种情况下,上下文不能用来存储全局共享信息。用一个额外的资源来存储信息,例如数据库。

ServletContext对象被包含在ServletConfig对象中,ServletConfig对象被容器产生并且通过servlet的init()方法传入servlet对象。

ServletContext接口定义了Web应用程序的servlet图。容器负责提供该接口的实现。使用ServletContext对象,servlet可以记录事件,得到资源的URL引用,设置和存储属性,这些属性可以被上下文中的其他servlet访问

初始化参数(Initialization Parameters)


上图的方法用来获得上下文的初始化参数,该初始化参数被定义在部署描述文件中。初始化参数一般被程序开发人员用来传递一些setup信息,例如网站管理员的email地址和存有重要数据的系统的名字。

配置方法(Configuration methods)


上图的方法是Servlet3.0中加入的,用来程序性定义servlet、过滤器、和他们的映射url。这些方法只在程序初始化时被ServletContextListener的contextInitialized()方法调用或是被ServletContainerInitailizer的onStartup()方法调用.这些方法是给框架开发者准备的。

上下文属性(Context Attributes

一个servlet可以绑定一个对象属性到上下文。任何一个被绑定到上下文的属性都可以被同一个Web应用程序的其他servlet获得。上图是获得、设置、删除属性的方法。分布式环境要注意不要用上下文属性,否则会带来问题,应该用session或是数据库或是EJB组建来代替。

资源(Resource)


上图方法可以直接获得Web应用程序中的静态内容文档,包括 HTML、GIF、JPEG文件。具体规则可以看api。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值