2

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

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

我想使用以下 url 将参数传递给 /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?

   }
 }

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

4

2 回答 2

3

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

您从以下网址获得完整的 URL:httpExchange.getRequestURI().getQuery()

然后从这个字符串你可以得到细节。

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

于 2014-03-04T01:49:43.530 回答
0

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

于 2013-11-04T16:43:46.983 回答