www.pudn.com > java实验的web浏览器源代码支持mime.rar > HttpResponse.java


package http;  
import java.io.*;  
import container.servlet.*;  
import container.staticsou.*;  
 
public class HttpResponse{  
 
HttpRequest httprequest;  
static byte readfromfile[];  
HttpStatusCodes HttpStatus=new HttpStatusCodes();  
String HttpStatusMsg=null;  
PrintStream sendmsg=null;  
 
HttpResponse(PrintStream sendmsg,HttpRequest httprequest){  
 
this.httprequest=httprequest;  
this.sendmsg=sendmsg;  
 
}//end HttpResponse()  
 
 
public void Toclient(){  
 
if ( httprequest.HttpMethomd.equals("GET") ){  
dealGet();}  
if( httprequest.HttpMethomd.equals("POST") ){  
dealPost();}  
 
if (httprequest.statuscode!=200){  
sendmsg.print(HttpStatus.toString(httprequest.statuscode)+"\r\n\r\n");  
sendmsg.print( HttpStatus.toString(httprequest.statuscode));  
return;  
}  
 
 
if (httprequest.RequestSouc.startsWith("/servlet/")){ //是否是 servlet 的目录映射  
ServletHold servlethold= new ServletHold(httprequest);  
servlethold.LoadClasses(httprequest.RequestSouc);  
return;  
}//end if  
 
if ( httprequest.HttpMethomd.equals("GET") ){  
dealLocalFile FileHandle= new dealLocalFile(httprequest.RequestSouc);  
 
 
if (FileHandle.FileExists()==0){  
sendmsg.print(HttpStatus.toString(404)+"\r\n\r\n");  
sendmsg.print( HttpStatus.toString(404));  
return;  
}  
 
//byte[] msg = FileHandle.ReadLocalFile();  
byte[] msg = FileHandle.GetContent();  
 
sendmsg.print(HttpStatus.toString(200)+"\r\n");  
sendmsg.print(jwsconf.GetMime(httprequest.RequestSouc)+"\r\n\r\n" );  
sendmsg.write(msg,0,msg.length);  
 
}//end if  
 
return;  
}  
 
public void dealGet(){  
return;  
}  
 
public void dealPost(){  
sendmsg.print( HttpStatus.toString(405)+"\r\n\r\n");  
sendmsg.print( HttpStatus.toString(httprequest.statuscode));  
return;}  
 
}