当前位置: 代码迷 >> Java Web开发 >> httpExchange.getRequestBody()取得的是什么数据,这个函数的作用是什么?可以举个实例吗
  详细解决方案

httpExchange.getRequestBody()取得的是什么数据,这个函数的作用是什么?可以举个实例吗

热度:87   发布时间:2016-04-13 22:20:45.0
httpExchange.getRequestBody()获得的是什么数据,这个函数的作用是什么?可以举个实例吗
本帖最后由 schnuffelrr 于 2015-09-15 14:42:09 编辑


import java.io.BufferedReader;  
import java.io.FileInputStream;
import java.io.IOException;  
import java.io.InputStream;  
import java.io.InputStreamReader;  
import java.io.OutputStream;  
import java.net.InetSocketAddress;  
  
import com.sun.net.httpserver.HttpExchange;  
import com.sun.net.httpserver.HttpHandler;  
import com.sun.net.httpserver.HttpServer;  
import com.sun.net.httpserver.spi.HttpServerProvider;  
  
public class ViewServer {  
    //启动服务,监听来自客户端的请求  
    public static void httpserverService() throws IOException {  
        HttpServerProvider provider = HttpServerProvider.provider();  
        HttpServer httpserver =provider.createHttpServer(new InetSocketAddress(6666), 100);//监听端口6666,能同时接 受100个请求  
        httpserver.createContext("/myApp", new MyHttpHandler());   //static 静态才可以调用
        httpserver.setExecutor(null);   
        httpserver.start();  
        System.out.println("server started");  
    }  
    //Http请求处理类  
    static class MyHttpHandler implements HttpHandler {  //static静态
        public void handle(HttpExchange httpExchange) throws IOException {  
            String responseMsg = "okl";   //响应信息
            //
            InputStream in = new FileInputStream("c:\\jack2.txt");
            //InputStream in = httpExchange.getRequestBody(); //获得输入流  the stream from which the request body can be read.
            
            BufferedReader reader = new BufferedReader(new InputStreamReader(in));  
            String temp = null;  
            while((temp = reader.readLine()) != null) {  
                System.out.println("client request:"+temp);  
            }  
            
            httpExchange.sendResponseHeaders(200, responseMsg.length()); //设置响应头属性及响应信息的长度  
            OutputStream out = httpExchange.getResponseBody();  //获得输出流  
            out.write(responseMsg.getBytes());  
            out.flush();  
            httpExchange.close();                                 
              
        }  
    }  
    public static void main(String[] args) throws IOException {  
        httpserverService();  
    }  
}  
------解决思路----------------------
 获得输入流 。。