ServLetContext基础

ServLetContext

解决的问题:不同的用户使用相同的数据

就是不同的用户,访问网页的时候能看到某一个相同的数据,例如该网站被访问的次数

其他特征:

特点:服务器创建;用户共享

作用域:整个项目

生命周期:服务器启动到服务器关闭

如何使用:

三种创建方式:

ServletContext sc=this.getServletContext();

ServletContext sc1=this.getServletConfig().getServletContext();

ServletContext sc2=req.getSession().getServletContext();

注意:三种创建方式创建的是同一个对象,同一个项目下的所有Servlet中也是同一个对象

数据存储:

sc.setAttribute(String name, Object value);

例子:sc.setAttribute("name", "xiongdu!");

数据获取:

sc.getAttribute("name") 返回的是Object类型

注意:

不同的用户可以给ServletContext对象进行数据的存取。

获取的数据不存在返回null。

在项目中web.xml文件中的全局配置数据,

作用:将静态数据和代码进行解耦。

在xml中的配置方式:

 <context-param>

<param-name>name</param-name>

<param-value>zhangsan</param-value>

 </context-param>

注意:注意 一组<context-param>标签只能存储一组键值对数据,多组可以声明多个 <context-param>进行存储。

 

获取项目中web.xml文件中的全局配置数据

sc.getInitParameter(String name);

根据键的名字返回web.xml中配置的全局数据的值,返回String类型。

如果数据不存在返回null。

其他方法:

sc.getInitParameterNames();

返回键名的枚举

 

获取项目webroot下的资源的绝对路径:

String path=sc.getRealPath(String path);

获取的路径为项目资源的绝对路径,path参数为项目根目录中的路径

 

获取webroot下的资源的流对象

InputStream is = sc.getResourceAsStream(String path);

注意:此种方式只能获取项目根目录下的资源流对象,class文件的流对象需要使用类加载器获取。path参数为项目根目录中的路径

 

 

 

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值