Servlet的学习(二)-ServletConfig对象和ServletContext对象

来源:互联网 发布:php 处理图片 编辑:程序博客网 时间:2024/05/22 16:00

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=rootpassword=123desc=数据库用户名和密码

①传统的方式读取(这种方式不常用,因为配置文件的地址是相对于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>
 

0 0
原创粉丝点击