当前位置:首页 > 网络编程 > WEB编程 > JSP > 用JavaServlet构建广告系统(2)

用JavaServlet构建广告系统(2)

点击次数:37 次 发布日期:2008-11-26 16:26:51 作者:源代码网
源代码网推荐
  hashtable.remove("log");

  }

  return true;

  }

  private Hashtable getConfig(String s)//取得配置

  {

  Hashtable hashtable = (Hashtable)cfgs.get(s);

  if(hashtable != null)//如果配置不为空

  try

  {

  String s1 = (String)hashtable.get("edited");

  File file = new File(s);

  if(!s1.equals(String.valueOf(file.lastModified()))){

  file://如果s1的值不等于文件最后一次修改的值,则hashtable的内容为空值

  hashtable = null;

  }

  catch(Exception _ex)//捕获Exception _ex错误

  {

  hashtable = null;

  }

  if(hashtable != null)

  return hashtable;

  hashtable = new Hashtable();

  if(!readConfig(s, hashtable))

  {

  return null;

  }

  else

  {

  cfgs.put(s, hashtable);

  return hashtable;

  }

  }

  public void init(ServletConfig servletconfig)//初始化配置参数

  throws ServletException {

  file://如果出错,抛出一个ServletException错误

  super.init(servletconfig);

  separator = System.getProperty("file.separator");//取得分隔符

  cfgs = new Hashtable();//设置配置变量

  logs = new Hashtable();//设置日志变量

  System.out.println("© Wayne Zheng ");//屏幕输出我的邮箱地址

  }

  public void destroy()

  {

  }

  public void doPost(HttpServletRequest request, HttpServletResponse response)

  file://发送POST请求

  throws ServletException, IOException

  { doGet(request, response); }

  public void doGet(HttpServletRequest httpservletrequest, HttpServletResponse httpservletresponse)

  file://读取GET

  throws ServletException, IOException

  {

  String strConfig = httpservletrequest.getQueryString();

  file://读取请求字符串

  if(strConfig == null)//如果字符串为空

  strConfig = "";//那么设置strConfig为空

  if(strConfig.length() == 0)

  file://如果strConfig长度为零,那么显示错误信息

  {

  errorMessage("无配置信息!", httpservletresponse);

  return;

  }

  String strConfig1 = getFromQuery(s, "config=");//同上

  if(strConfig1.length() == 0){

  strConfig1 = strConfig;

  Hashtable hashtable = getConfig(strConfig1);

  if(hashtable == null)

  {

  errorMessage("配置信息错误!", httpservletresponse);

  return;

  }

  if(hashtable.get("dir") == null)

  file://如果哈希表中dir为空值,则输出错误信息

  {

  errorMessage("不能打开数据目录", httpservletresponse);

  return;

  }

  String strConfigMode2 = getFromQuery(strConfig, "mode=");//读取配置中的mode值

  if(strConfigMode2.length() == 0){//如果没有mode值

  strConfigMode2 = "1";//则设mode值为1

  String strConfigId3 = getFromQuery(strConfig, "id=");//读取配置中的id值

  if(strConfigId3.length() == 0){

  file://如果没有id值

  strConfigId3 = "1";//则设id值为1

  HttpSession httpsession = httpservletrequest.getSession(true);

  if(strConfigMode2.equals("1"))

  file://如果strConfigMode2的值为1,则显示banner广告

  {

  showBanner(hashtable, strConfigId3, httpsession, httpservletrequest, httpservletresponse);

  return;

  }

  else

  file://否则转向banner所指的站点

  {

  goToSite(hashtable, strConfigId3, httpsession, httpservletrequest, httpservletresponse);

  return;

  }

  }

  private void goToSite

  (Hashtable hashtable, String s, HttpSession httpsession,

  HttpServletRequest httpservletrequest, HttpServletResponse

  httpservletresponse)//转向站点

  throws IOException file://如果有任何错误,抛出IOException错误

  {

  String sitename1;//定义站点名

  if(httpsession == null)//如果httpsession为空

源代码网供稿.
网友评论 (0)
会员中心
网络编程
本站推荐
网络编程之精华