Servlet的学习(二)-ServletConfig对象和ServletContext对象
2016-06-10 18:06
429 查看
ServletConfig对象
ServletConfig对象有如下几个重要的方法:●String getServletName()
获取配置文件中servlet的名称
●String getInitParameter(String name)
获取初始化参数
●Enumeration getInitParameterNames() 获取初始化参数的名称们
而初始化参数的配置需要在<servlet></servlet>标签下进行配置,注意:如果要是配置在某个servlet的标签下,那么只能在该servlet中获取初始化参数。
<init-param> <param-name>key</param-name> <param-value>value</param-value> </init-param>
例如:
<init-param> <param-name>username</param-name> <param-value>root</param-value> </init-param>
<init-param> <param-name>password</param-name> <param-value>123</param-value> </init-param>
获取ServletConfig对象的语句为:
ServletConfig servletconfig = getServletConfig();
ServletContext对象
ServletContext对象也被称为域对象,WEB容器在启动时,会为每个WEB应用程序都创建一个对应的ServletContext对象,它代表当前web应用。需要明确的是:一个WEB应用对应一个ServletContext对象,一个WEB应用下有多个Servlet程序,所有的servlet程序都共享同一个ServletContext对象。ServletContext对象的作用:
●获取WEB应用全局初始化参数
首先,说一下获取ServletContext对象的语句为:
ServletContext servletcontext = getServletContext();
ServletContext也有两个方法获取初始化参数,不过是获取的全局的参数:
▲String getInitParameter(String name)
▲getInitParameterNames()
全局的初始化参数在web.xml中的配置方式为:
<context-param> <param-name>key</param-name> <param-value>value</param-value> </context-param>
例如:
<context-param> <param-name>encoding</param-name> <param-value>GBK</param-value> </context-param>
●实现数据的共享
实现数据的
void setAttribute(String name, Object object) 存入数据
例如:getServletContext.setAttribute("count",0);
void removeAttribute(String name)
删除数据
Object getAttribute(String name)
获取数据
例如:getServletContext.getAttribute("count");
●读取资源文件
InputStream getResourceAsStream(String path)
通过文件的地址获取输入流
String getRealPath(String path) 通过文件的地址获取文件的绝对磁盘路径
读取资源文件的方式有几种:
假设有个名称为db.properties的文件,文件内容为:
usename=root password=123 desc=数据库用户名和密码
①传统的方式读取(这种方式不常用,因为配置文件的地址是相对于tomcat/bin的位置)
<span style="font-family:Microsoft YaHei;font-size:18px;">//首先获得输入流
InputStream inputstream = new FileInputStream("配置文件的地址");
Properties properties = new Properties();
//然后加载输入流
properties.load(inputstream);
//获得文件中的内容
String usename = properties.getProperties("usename");</span>②ServletContext的方式读取
<span style="font-family:Microsoft YaHei;font-size:18px;">//首先获得输入流,这儿是和传统的读取方式的不同
<span style="color:#ff0000;">InputStream inputstream = getServletContext().getResourceAsStream("配置文件的地址");</span>
Properties properties = new Properties();
//然后加载输入流
properties.load(inputstream);
//获得文件中的内容
String usename = properties.getProperties("usename");</span>
相关文章推荐
- Android自启动管理
- 大型网站架构系列:缓存在分布式系统中的应用(一)
- mysql删除表
- 用Fiddler做抓包分析详解
- 配置文件报错:不允许有匹配 [xX][mM][lL] 的处理指令目标。
- Ubuntu远程管理(teamviewer)
- Ubuntu12.04中的截图
- qt qml 利用xmlhttprequest 调用有赞api
- bzoj3998: [TJOI2015]弦论
- 杂记
- NYOJ 515 完全覆盖 II (状态压缩dp)
- 解决Genymotion中的unknown generic error错误以及无法联网下载Android虚拟设备
- 内置系统账户:Local system/Network service/Local Service 区别
- 线性预测与Levinson-Durbin算法实现
- Node.js 实用工具
- Android intent flag启动模式
- “no public key available” while upgrading using update-manager
- POJ 2762 Going from u to v or from v to u?【强连通Kosaraju+拓扑排序】
- 基于QtQuick2.0应用程序运行于XP系统的诸多问题
- rhel7文件的归档与压缩