1.Servlet之间共享数据
//从request中获取参数
String paraValue = request.getParameter("n");
// System.out.println(paraValue);
//获取ServletContext
ServletContext ctx = this.getServletContext();
ctx.setAttribute("name",paraValue);
//获取ServletContext
ServletContext ctx = this.getServletContext();
String attr = (String) ctx.getAttribute("name");
//设置repose的内容编码
response.setContentType("text/html;charset=utf-8");
PrintWriter out = response.getWriter();
out.println(attr);
2.初始化web应用的参数
//获取servletContext
ServletContext servletContext = this.getServletContext();
String url = servletContext.getInitParameter("url");
//将参数显示到浏览器上面
PrintWriter out=response.getWriter();
out.println(url);
//遍历获取所有web应用的初始化参数
Enumeration<String> initParameterNames = servletContext.getInitParameterNames();
while (initParameterNames.hasMoreElements()){
String name = initParameterNames.nextElement();
String value = servletContext.getInitParameter(name);
PrintWriter out1=response.getWriter();
out1.println(value);
3.读取properties的配置文件
//1.获取文件路径Filepath
String filePath="/WEB-INF/classes/db.properties";
//2.使用filepath获取文件的输入流
ServletContext ctx = this.getServletContext();
InputStream is = ctx.getResourceAsStream(filePath);
//3.创建properties对象,使用该对象的输入流
Properties prop = new Properties();
prop.load(is);
//4.读取内容
//5.准备一个打印流
PrintWriter out = response.getWriter();
//获取所有键的set
Set<Object> keys = prop.keySet();
//对keys进行遍历 使用迭代器
Iterator<Object> it = keys.iterator();
while (it.hasNext()){
String key = (String) it.next();
//使用获取的键 来进一步获取value
String value = prop.getProperty(key, "啥也没拿着");
out.println(key+"="+value);
}
ServletContext的三大功能