JSP从API检索数据

时间:2018-12-31 09:58:33

标签: java spring-mvc jsp

我是jsp的新手,并且服务器上具有spring boot API,如何从api到jsp检索数据? 链接类似于:http://111.111.1.111:8080/user/getallusers 这是我从邮递员那里得到的: image

2 个答案:

答案 0 :(得分:0)

将其与使用Java进行的任何HTTP网络请求相同。您可以使用Java的内置HTTP客户端库。

这里是一个例子。 (对于JSP,您始终可以将代码包含在scriptlet标签<%%>中,但我建议使用 servlet 进行调用,然后将响应发送到jsp)

URL url = new URL("http://111.111.1.111:8080/user/getallusers ");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
conn.setRequestProperty("Accept", "application/json");

if (conn.getResponseCode() != 200) {
    throw new RuntimeException("Failed : HTTP error code : "
            + conn.getResponseCode());
}

BufferedReader br = new BufferedReader(new InputStreamReader(
    (conn.getInputStream())));

String output;
System.out.println("Output from Server .... \n");
while ((output = br.readLine()) != null) {
    System.out.println(output);
}

有关更多信息,您可以参考此链接https://www.mkyong.com/webservices/jax-rs/restfull-java-client-with-java-net-url/

希望有帮助。

答案 1 :(得分:0)

您可以使用Java脚本来调用API:

var request = new XMLHttpRequest();

request.open('GET', 'http://111.111.1.111:8080/user/getallusers', true);
request.onload = function () {

 var data = JSON.parse(this.response);

  if (request.status >= 200 && request.status < 400) {
    data.forEach(user => {
      console.log(user.name_en);// Alternatively manipulate DOM with record
    });
  } else {
    console.log('error occurred. Please try again');
  }
}

request.send();