Servlet编程专题2之获取ServletConfig对象

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Servlet编程专题2之获取ServletConfig对象相关的知识,希望对你有一定的参考价值。

1、javax.servlet.ServletConfig接口的简单说明:

-  Servlet容器在Servlet对象初始化时期传递信息给Servlet对象的Servlet配置对象。

技术分享

-  在Servlet接口的init()方法中具有唯一的一个参数ServletConfig。ServletConfig是一个接口,顾名思义,就是Servlet配置,即在web.xml中对当前Servlet类中的配置信息。Servlet规范将Servlet的配置信息全部封装到了ServletConfig接口对象中。

-  在Web容器调用init()方法时,Web容器首先会将web.xml中当前Servlet类的配置信息封装为一个对象。这个对象的类型实现了ServletConfig接口,Web容器会将这个对象传递给init()方法中的ServletConfig参数。(由Web容器自动创建ServletConfig接口实现类的对象)

-  ServletConfig接口实例类的对象指的就是:web.xml中的Servlet标签:

技术分享


2、如果希望在自定义的Servlet实现类中使用ServletConfig对象,可以在类中定义一个私有ServletConfig成员变量,在init(ServletConfig config)方法中进行接收,在getServletConfig()方法中将这个成员变量进行返回即可。

技术分享


3、javax.servlet.ServletConfig接口中的方法介绍:

-  getInitParemeter(String name)方法:获取web.xml文件中的<init-param>标签中与传递的字符串参数相同的<param-name>标签内容所对应的<param-value>标签的字符串内容。

-  getInitParameterNames()方法:获取servlet初始化参数值,以字符串对象的一个枚举返回;或者返回一个空的枚举对象,如果没有任意一个初始化参数值。

-  getServletContext()方法返回ServletContext对象的引用。

-  getServletName()方法返回Servlet实例的名字。(web.xml中的<servlet>标签中设置的<servlet-name>中的内容)

技术分享


4、java.util.Enumeration接口的简单介绍:

-  Enumeration接口实现类对象会生成一系列元素。(每次生成一个)连续调用接口中的nextElement()方法会序列中连续的元素。

技术分享

-  java.util.Enumeration接口中的hasMoreElements()方法检测是否枚举对象中包含有更多的元素,如果存在,返回true:

技术分享


5、web.xml文件中的<context-param>标签,表示定义整个应用都可以共享的初始化上下文参数:

技术分享


6、javax.servlet.ServletContext接口:表示Servlet执行的上下文环境,即web应用的上下文环境。

-  定义一组方法用于servlet与servlet容器进行通信,例如获取文件的MIME类型,调度请求或者写入日志文件,JVM中每个web应用只有一个上下文环境对象。(由Web容器自动创建ServletContext接口实现类的对象)

技术分享


7、javax.servlet.ServletContext接口中的方法介绍:

-  和getInitParemeter(String name)方法和getInitParameterNames()方法类似,不过返回的是初始化上下文参数值:


技术分享


-  在这个ServletContext对象中设置或者重置给定属性名的域属性:(具备应用全局性,即所有的Servlet实例对象中ServletConfig对象都可以通过getInitParemeter(String name)方法获取设置的域属性)

技术分享


-  返回给定名字的servlet容器中的域属性值:(可以在不同的Servlet实例中进行访问)

技术分享

-  从ServletContext中删除给定名字的域属性:

技术分享


-  返回web应用的上下文的路径:(即web应用的名称,/应用名)

技术分享



-  给定的虚拟路径(基于web应用)以获取本地盘符下的真实路径:

技术分享

附录:关联javaee源码操作

技术分享

-  因为tomcat软件是一个实现servlet规范、jsp规范和el规范和webSockect规范的开源项目(都是JavaEE规范中的内容),所以可以关联对应版本中的tomcat源码来关联javaee源码。

-  如我在Eclipse中使用的tomcat服务器是7.0版本的,可以关联如下压缩包以关联源代码。

技术分享


本文出自 “12392717” 博客,请务必保留此出处http://12402717.blog.51cto.com/12392717/1972588

以上是关于Servlet编程专题2之获取ServletConfig对象的主要内容,如果未能解决你的问题,请参考以下文章

Servlet编程专题1之Servlet生命周期

Servlet编程专题10之Servlet3.0注解

Servlet编程专题9之Servlet规范中的过滤器

Servlet编程专题11之Servlet3.0特性实现文件上传

Servlet编程专题5之servlet线程安全问题

Servlet编程专题8之Servlet规范中的监听器