packagecom.lwq;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileNotFoundException;importjava.io.IOException;importjava.io.OutputStream;importjava.io.PrintWriter;/***@authorJoker
*@version创建时间:Sep 5, 2012 9:59:53 PM
* 类说明 根据相应信息返回结果*/
public classResponse {private static final int BUFFER_SIZE = 1024;
Request request;
OutputStream output;publicResponse(OutputStream output){this.output =output;
}public void sendStaticResource() throwsIOException{byte[] bytes = new byte[BUFFER_SIZE];
FileInputStream fis= null;
File file= newFile(HttpServer.WEB_ROOT,request.getUri());if(file.exists()){try{
fis= newFileInputStream(file);int ch = fis.read(bytes,0,BUFFER_SIZE);while(ch != -1){
output.write(bytes,0,ch);
ch= fis.read(bytes,0,BUFFER_SIZE);
}
}catch(FileNotFoundException e) {//TODO Auto-generated catch block
e.printStackTrace();
}catch(IOException e){
e.printStackTrace();
}finally{if(fis !=null){
fis.close();
}
}
}else{//找不到文件
String errorMessage = "HTTP/1.1 404 File Not Found\r\n" +
"Content-Type: text/html\r\n" +
"Content-Length: 23\r\n" +
"\r\n" +
"File Not Found";
try{
output.write(errorMessage.getBytes());
output.flush();
}catch(IOException e) {//TODO Auto-generated catch block
e.printStackTrace();
}
}
}publicRequest getRequest() {returnrequest;
}public voidsetRequest(Request request) {this.request =request;
}publicOutputStream getOutput() {returnoutput;
}public voidsetOutput(OutputStream output) {this.output =output;
}public static intgetBUFFER_SIZE() {returnBUFFER_SIZE;
}
}