Servlet(八)——ServletContext对象

ServletContext对象

每一个web 应用都有且仅有一个ServletContext 对象, 又称 Application 对象,从名称中可知, 该对象是与应用程序相关的。在 WEB 容器启动的时候, 会为每一个WEB应用程序创建一个对应的 ServletContext 对象。
该对象有两大作用,第一、 作为域对象用来共享数据, 此时数据在整个应用程序中共享;第二、 该对象中保存了当前应用程序相关信息。 例如可以通过 getServerInfo() 方法获取当前服务器信息, getRealPath(Stringpath)获取资源的真实路径等。

1. ServletContext对象的获取

获取 ServletContext 对象的途径有很多。 比如:

  1. 通过 request对象获取
ServletContext servletContext = request.getServ]etContext() ; 
  1. 通过 session 对象获取
ServletContext servletContext = request.getSession().getServletContext();
  1. 通过 servletConfig 对象获取, 在 Servlet 标准中提供了ServletConfig 方法
ServletConfig servletConfig = getServletConfig(); 
ServletContext servletContext = servletConfig.getServletContext() ; 

4.直接获取, Servlet 类中提供了直接获取ServletContext对象的方法

ServletContext servletContext3=getServletContext();

2. ServletContext域对象

ServletContext也可当做域对象来使用,通过向ServletContext 中存取数据,可以使得整个应用程序共享某些数据。当然不建议存放过多数据,因为ServletContext 中的数据一旦存储进去没有手动移除将会- 直保存。

//获取servletContext对象
ServletContext servletContext = request. getservletContext() ;
//设置域对象
servletContext. setAttri bute("name"," zhangsan") ;
//获取域对象
String name = (String) servletContext. getAttri bute("name");
//移除域对象
seryletcontext. removeAttribute("name");

Servlet的三大域对象

  1. request域对象在一次请求中有效。请求转发有效,重定向失效。
  2. session域对象在一次会话中有效。请求转发和重定向都有效,session销毁后失效。
  3. servletContext域对象在整个应用程序中有效。服务器关闭后失效。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值