成都创新互联网站制作重庆分公司

ServletContext的详细介绍

本篇内容主要讲解“ServletContext的详细介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ServletContext的详细介绍”吧!

10年积累的网站设计制作、成都网站设计经验,可以快速应对客户对网站的新想法和需求。提供各种问题对应的解决方案。让选择我们的客户得到更好、更有力的网络服务。我虽然不认识你,你也不认识我。但先制作网站后付款的网站建设流程,更有西畴免费网站建设让你可以放心的选择与我们合作。

一、WEB容器在启动时候,它会为每个WEB应用程序创建一个对应的ServletContext对象,它代表当前WEB应用。
二、ServletContext对象可以通过ServletConfig.getServletContext方法获得对Servlet对象的引用,也可以通过this.getServletContext90来获得其对象的引用。
三、由于一个WEB应用中的所有Servlet共享同一个ServletContext对象,因此Servlet对象之间可以通过ServletContext对象来实现通讯。ServletContext对象通常也被称之为Context域对象。公共聊天室就是用到它。
四、如何使用ServletContext?
1.如何获得ServletContext对象?
ServletContext sc=this.getServletContext();
2.可以将ServletContext想象成一张表,这个和session非常相似。
添加属性:setAttribute(String name,Object ob);
得到值:getAttribute(String name);
删除属性:removedAttribute(String name);
3.生命周期
ServletContext中的属性的生命周期从开始创建到服务器关闭而结束
五、ServletContext应用
1.可以被项目中多个servlet共享
2.获取wenb应用的初始化参数。例如:在web.xml中我们有这样一段代码,

    name
    scott

如果元素是兄弟关系
String value=this.getServletContext().getInitParameter("name");
结果value的值是scott
如果元素的儿子
String value=this.getServletConfig().getIn.getInitParameter("name");
结果value的值也是scott
3.可以请求转发
(1)response.sendRedirect("/web应用名/资源名");
(2)request.getRequestDispatcher("/资源名").forward(request,response)===this.getServletContext.getRequestDispatcher("/资源名").forward(request,response);
4.读取web应用的资源文件
(1)资源文件写在WebRoot下面
1>读取资源文件内容,例如:有一个msql.properties文件
文件内容如下:
username=scott
password=123
如何读取:
InputStream is=this.getServletContext().getresourceAsStream("msql.properties");//读取到文件
Propreties pp=new Propreties();
pp.load(is);
System.out.println("name="+pp.getProperty("username"));//结果是scott
2>读取文件的全路径,例如:webRoot下有一个/imgs/1.jpg文件
String Path=this.getServletContext().getRealPath("/imgs/1.jpg");
(2)资源文件在src下面则使用类加载器
随便挑选src文件下的某个类例如:Servlet.java
InputStream is=Servlet.class.getClassloader.getResourceAsStream("文件名字");

到此,相信大家对“ServletContext的详细介绍”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


文章标题:ServletContext的详细介绍
网址分享:http://cxhlcq.com/article/gsceii.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部