1.初始化参数init-param
getInitParameter(String param):Servlet提供方法getInitParameter(String param)来获取初始化参数值。
getInitParameterNames():此方法返回所有参数名称,返回结果为枚举类型(Enumeration)。
2.上下文参数context-param
web.xml中需使用标签<context-param>(所有Servlet都能够读取的参数)
<span style="font-size:18px;"><context-param>
<param-name>name</param-name>
<param-value>wangxuewei111</param-value>
</context-param></span>
getServletConfig().getServletContext():获取context-param可以使用ServletContext对象。
ServletContext servletContext = getServletConfig().getServletContext();
String name = servletContext.getInitParameter("name");
3.资源注射@Resource
Tomcat启动的时候会把web.xml里配置的信息主动“注射”到Servlet里,这个过程时自动完成的,不需要编写任何代码,不需要做任何工作。
<env-entry>仅能配置java.lang包下标准类型变量,如,String,Integer,Double
<env-entry>
<env-entry-name>myName</env-entry-name>
<env-entry-type>java.lang.String</env-entry-type>
<env-entry-value>my name is wangxuewei111</env-entry-value>
</env-entry>
@Resource (name="myName")
private String myName;
4.使用JNDI获取资源
资源注射的原理就是JNDI,如果不使用@Resource,通过查找JNDI同样可以获取资源。
<span style="font-size:18px;">Context ctx = new InitialContext();
String myName = (String)ctx.lookup("myName");</span>
5.注射数据源
Servlet还可以注入自定义的Java Bean以及数据源等复杂类型变量。