用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">
上一篇:FreeBSD平台下网站服务_器架设攻略 下一篇:Win2003架设网站服务_器
文章评论
共有位Admini5网友发表了评论 查看完整内容