如何将参数传递给HttpServer的实现?

时间:2013-11-04 16:11:32

标签: java parameter-passing httpserver

我已经实现了com.sun.net.httpserver.HttpServer:

 HttpServer server = HttpServer.create(new InetSocketAddress(8001), 0);
 server.createContext("/myserver", new myHttpHandler());
 server.createContext("/myserver/get", new GetHttpHandler());

我想通过以下网址将参数传递给/ myserver / get:

 http://localhost:8000/myserver/get?deviceid=ABB00122

 static class GetHttpHandler implements HttpHandler {

   public void handle(HttpExchange exchange) throws IOException {

 // how do I now access the deviceid?

   }
 }

如何在handle方法中访问我使用url发送的参数deviceid?

2 个答案:

答案 0 :(得分:2)

HttpServer类非常简单。如果要访问URL中传递的参数(使用GET方法),则需要提供一种方法来提取它们。

您可以从以下网址获取完整的网址: httpExchange.getRequestURI()。getQuery()

然后从这个String你可以得到详细信息。

有关其他信息,请参阅http://www.rgagnon.com/javadetails/java-get-url-parameters-using-jdk-http-server.html

答案 1 :(得分:0)

我没有使用过这种类型,但从HttpExchange doc来看,属性不是请求参数。可以通过getQueryString()方法访问该信息。