java 向nodejs 发送请求简单案例
最近在做nodejs的东西,一直不明白java如何与nodejs建立连接,下面写了一个简单demo:
nodejs端:
var http = require("http");
http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
console.log("hellow world !");
response.end();
}).listen(8888);
新建文件,复制以上代码到文件,改扩展名为.js。
在命令行里切换的到此文件的目录,运行:node XXX.js,及启动了这个服务。
这段代码的作用在于,监听127.0.0.1(默认的地址)的8888端口号,当有请求到达的
时候,首先返回一个hello world字符串,并且打印hello world 来表明收到请求。
java端代码:
import java.net.HttpURLConnection;
import java.net.URL;
public class Hello {
public static void main(String[] args) {
URL url;
HttpURLConnection con = null;
try {
url = new URL("http://localhost:8888/" + "?name=javaGet");
con = (HttpURLConnection)url.openConnection();
con.setRequestMethod("GET");
con.connect();
con.getInputStream(); //在这里才正式向服务器端发送请求,否则服务器端将无法打印hello world
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行这段代码向服务器发送请求,如果服务器端打印出 hello world 则表明服务器端收到了请求。
请注意,con.getInputStream();这段代码是不能少的,因为在这里才真正向服务器端发送请求,否则,
服务器端将无法 收到请求。
运行效果如下: