servlet实现自动刷新

/*============UserCacheServlet===*/
package  javaservlet;

import  java.io.*;
import  javax.servlet.*;
import  javax.servlet.http.*;

/**
 *  <p>Title:  test_servlet</p>
 *  <p>Description:  This  is  my  first  servlet  process.</p>
 *  <p>Copyright:  Copyright  (c)  2005</p>
 *  <p>Company:  ahead</p>
 *  @author  zhaoshuxian
 *  @version  1.0
 */

public  class  UserCacheServlet
       extends  HttpServlet  {
   private  static  final  String  CONTENT_TYPE  =  "text/html;  charset=GB2312";

   //Initialize  global  variables
   public  void  init()  throws  ServletException  {
       UserList.fillUser();  //Web容器启动后调用
   }

   //Process  the  HTTP  Get  request
   public  void  doGet(HttpServletRequest  request,  HttpServletResponse  response)  throws
           ServletException,  IOException  {
       UserList.fillUser();  //刷新用户数据

       response.setContentType(CONTENT_TYPE);
       PrintWriter  out  =  response.getWriter();

       out.println("<html>");
       out.println("<head><title>UserCacheServlet</title></head>");
       out.println("<body  bgcolor=/"#ffffff/">");
       out.println("刷新成功!");
       out.println("</body></html>");
       out.close();
   }

   //Clean  up  resources
   public  void  destroy()  {
   }
}

/*====UserList====*/
package  javaservlet;

import  java.sql.*;
import  java.util.*;
import  javax.naming.*;
import  javax.sql.*;

/**
 *  <p>Title:  test_servlet</p>
 *  <p>Description:  This  is  my  first  servlet  process.</p>
 *  <p>Copyright:  Copyright  (c)  2005</p>
 *  <p>Company:  ahead</p>
 *  @author:  zhaoshuxian
 *  @version  1.0
 */

public  class  UserList  {
   private  static  Map  userMap;  //用户ID和用户名的Map

   //将用户数据缓存到Map中
   public  static  void  fillUser()  {
       if  (userMap  ==  null)  {
           userMap  =  new  HashMap();
       }
       else  {
           userMap.clear();
       }
       Connection  conn  =  null;
       StringBuffer  sBuf  =  new  StringBuffer();

     /*  try  {
           Context  ctx  =  null;
           try  {
               ctx  =  new  InitialContext();
           }
           catch  (NamingException  ex3)  {
           }
           if  (ctx  ==  null)  {
               try  {
                   throw  new  Exception("Boom  -  No  Context");
               }
               catch  (Exception  ex2)  {
               }
           }
           DataSource  ds  =  null;
           try  {
               ds  =  (DataSource)  ctx.lookup("java:comp/env/jdbc/xxzx");
           }
           catch  (NamingException  ex4)  {
           }
           conn  =  ds.getConnection();
       }
       catch  (SQLException  e)  {
           e.printStackTrace();
       }*/

       try  {
           conn  =  DriverManager.getConnection("jdbc:mysql://localhost:3306/xxzx?useUnicode=true&characterEncoding=GB2312","root","");
           PreparedStatement  pStat  =  conn.prepareStatement(
                   "select  USER_ID,USER_NAME  from  T_USER");
           ResultSet  rs  =  pStat.executeQuery();
           while  (rs.next())  {
               userMap.put(rs.getString(1),  rs.getString(2));
           }
       }
       catch  (SQLException  ex)  {
           ex.printStackTrace();
       }
       finally  {
           try  {
               if  (conn  !=  null)  {
                   conn.close();
                   conn  =  null;
               }
           }
           catch  (SQLException  ex1)  {
               ex1.printStackTrace();
           }
       }
   }

//获取HTML下拉框的用户列表代码
   public  static  String  getUserListHTML()  {
       StringBuffer  sBuf  =  new  StringBuffer();
       Set  set  =  userMap.keySet();
       Iterator  iter  =  set.iterator();

       while  (iter.hasNext())  {
           Object  item  =  (Object)  iter.next();
           sBuf.append("<option  value='"  +  item  +  "'>"  +  userMap.get(item)  +
                                   "</option>/n");
       }
       return  sBuf.toString();
   }
}
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值