使用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>

posted @ 2014-07-06 23:10  单方面  阅读(1459)  评论(0编辑  收藏  举报