3.5:Servlet读取web.xml参数

现在Java Web开发中,一些常量信息更倾向于写在配置文件里。需要修改程序时,只需要修改一下配置文件,而不要修改源程序,也就不需要重新编译,维护起来方便。web.xml提供了设置初始化参数的功能。

下面的代码,在web.xml文件中,通过<init-param>配置了参数,该参数只能由这个Servlet来读取,通过<context-param>配置了上下文参数,该参数可以被所有的Servlet读取。
在Servlet中,通过getInitParameter(String param)来获取初始化参数值。如果配置了名为param的参数,则返回参数值,否则返回null。还可以通getInitParameterNames()方法返回所有的参数名,返回结果为枚举类型(Enumeration)。 而要读取上线文参数(即全局参数)时,需要通过getServletConfig().getServletContext()来获取一个ServletContext对象,使用该对象的getInitParam()方法获取指定名称的参数,使用该对象的getInitParameterNames()获取所有的context-param参数名称。
 
 
 

上述方法需要在Servlet中主动提取参数,用起来不是很方便。使用资源注入方法(@Resource),则不需要主动提取,Tomcat会在启动时,把web.xml里的配置信息主动注射到Servlet里。如下:

 
输出信息如下:
第一个注入的参数
2
xuzhou
changzhou
nanjing
shanghai
注意:资源注入是从Java EE 5规范加入的,Tomcat 6.x开始支持此功能。
原文地址:https://www.cnblogs.com/mengfff/p/6764804.html