This Domain(Admin5.com) is for Sale:

用Java实现网站服务_器

时间:2007-10-27  来源:不详  作者:林仙

    }
   }

   /*获取请求类型是否为“GET”*/
   booleangetrequest(Strings){
    if(s.length()>0)
    {
     if(s.substring(0,3).equalsIgnoreCase("GET"))returntrue;
    }
    returnfalse;
   }

   /*获取要访问的文件名*/
   Stringgetfilename(Strings){
    Stringf=s.substring(s.indexOf(’’) 1);
    f=f.substring(0,f.indexOf(’’));
    try{
     if(f.charAt(0)==’/’)
     f=f.substring(1);
    }catch(StringIndexOutOfBoundsExceptione){
     System.out.println("Exception:" e);
    }
    if(f.equals(""))f="index.html";
    returnf;
   }



   /*把指定文件发送给Web浏览器*/
   voidsendfile(PrintStreamouts,Filefile){
    try{
     DataInputStreamin=newDataInputStream(newFileInputStream(file));
     intlen=(int)file.length();
织梦内容管理系统

     bytebuf[]=newbyte[len];
     in.readFully(buf);
     outs.write(buf,0,len);
     outs.flush();
     in.close();
    }catch(Exceptione){
     System.out.println("Errorretrievingfile.");
     System.exit(1);
    }
   }
  }



  程序中的ConnectionThread线程子类用来分析一个Web浏览器提交的请求,并将应答信息传回给Web浏览器。其中,getrequest()方法用来检测客户的请求是否为“GET”;getfilename(s)方法是从客户请求信息s中获取要访问的HTML文件名;sendfile()方法把指定文件内容通过socket传回给Web浏览器。

  对上述程序的getrequest()方法和相关部分作修改,也能对POST请求进行处理。

  三、运行实例

  为了测试上述程序的正确性,将编译后的WebServer.class、ConnectionThread.class和下面的index.html文件置于网络的某台主机的同一目录中(如:主机NT40SRV的C:\JWEB目录)。


  程序2:index.html文件
  <HTML>
  <HEAD>
  <METAHTTP-EQUIV="Content-Type"content="text/html;charset=gb_2312-80">

看完这篇,您有何感觉呢?

文章评论

共有位Admini5网友发表了评论 查看完整内容

24小时热门信息