package servlet;
import java.io.IOException;
import java.io.OutputStream;
import java.util.Enumeration;
import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
/*
* 在实际开发中有些数据不适合在程序中写死,这些数据就可以通过配置方式配给Servlet,例如:
* <servlet>
<init-param>
<param-name>data</param-name>
<param-value>XXXX</param-value>
</init-param>
</servlet>
*/
public class ServletConfigDemo extends HttpServlet {
//可以通过初始化方法获得ServletConfig对象
// private ServletConfig config;
// @Override
// public void init(ServletConfig config) throws ServletException {
// this.config = config;
// }
protected void doGet(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//也可以直接获得
ServletConfig config = this.getServletConfig();
/*
* 获取配置好的初始化属性
* <servlet>
<init-param>
<param-name>data</param-name>
<param-value>XXXX</param-value>
</init-param>
</servlet>
*/
String data = config.getInitParameter("data");
OutputStream out = resp.getOutputStream();
out.write((data+"\n").getBytes());
//连续获取所有配置属性
Enumeration<String> e = config.getInitParameterNames();
while(e.hasMoreElements()){
String name = e.nextElement();
data = config.getInitParameter(name);
out.write((name+" = "+data+"\n").getBytes());
}
out.close();
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
doGet(req, resp);
}
}
web.xml中配置初始化参数