使用ServletContext实现数据共享和获得web.xml中的参数
//适用于:很多文件需要初始化参数时,例如数据库账号和密码,不可能使用config这个对象,因为如果使用config对象去配置的话,那么每个servlet类都必须写一个参数,这时候就必须采用context这个对象去实现一个数据的共享
//servlet
response.setContentType("text/html");
request.setCharacterEncoding("utf-8");
response.setCharacterEncoding("utf-8");
PrintWriter out = response.getWriter();
//实例化ServletContext对象
ServletContext servletContext=this.getServletContext();
/*************************达到数据共享*********************************/
//设置servletContext保存的值
// servletContext.setAttribute("name", "张三");
//内部跳转,注意:不应该使用servletContext进行传递数据,应该使用Request.getRequestDispatcher("/index.jsp").forward(request, response);进行内部跳转
//数据共享一般都有他自己使用的范围
// servletContext.getRequestDispatcher("/index.jsp").forward(request, response);
/**************************获取web.xml配置的参数****************************************/
//获取初始化指定参数
// String name=(String) servletContext.getInitParameter("name");
// out.println(name);
//获取所有参数
Enumeration enumeration=servletContext.getInitParameterNames();
while (enumeration.hasMoreElements()) {
String name=servletContext.getInitParameter((String)enumeration.nextElement());
out.println(name+"<br/>");
}
//web.xml
<context-param>
<param-name>name</param-name>
<param-value>张三</param-value>
</context-param>
<context-param>
<param-name>name1</param-name>
<param-value>李四</param-value>
</context-param>
<context-param>
<param-name>name2</param-name>
<param-value>王五</param-value>
</context-param>