xml文件可以直接传键值对到servlet代码中:
脱离servlet标签外,代表全局的键值对,key=global,value=value,这样xml文件中所有的servlet都可以访问这个参数。
<context-param> <!-- 全局参数 -->
<param-name>global</param-name>
<param-value>value</param-value>
</context-param>
处于servlet标签中, 表示只有该servlet才能访问。
<servlet>
<servlet-name>ConfigServlet</servlet-name>
<servlet-class>ch02.ConfigServlet</servlet-class>
<init-param>
<param-name>date</param-name>
<param-value>202030</param-value>
</init-param>
<init-param>
<param-name>browser</param-name>
<param-value>google</param-value>
</init-param>
</servlet>
<servlet-mapping>
<servlet-name>ConfigServlet</servlet-name>
<url-pattern>/config</url-pattern>
</servlet-mapping>
/**
* @see Servlet#init(ServletConfig)
*/
public void init(ServletConfig config) throws ServletException {
String parameter1 = config.getInitParameter("date");
String parameter2 = config.getInitParameter("browser");
System.out.println(parameter1 + " " + parameter2);
}
/**
* @see HttpServlet#doGet(HttpServletRequest request, HttpServletResponse response)
*/
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
String global = getServletContext().getInitParameter("global"); // 访问全局参数
response.getWriter().append(con);
}
要注意访问全局的参数和局部的参数方法名是不同的:
局部getServletConfig().getInitParameter、全局getServletContext(). getInitParameter