最近项目中使用到了天气预报的功能,需要从网上获取天气数据,然后显示在公司系统的页面上。

在这里和大家分享下我的做法,希望能对大家有所帮助,如果有错误,欢迎大家指正

先给大家看看效果:

 

下面开始进行讲解。

1.找API接口

首先先去网上找一个免费的天气API,这里推荐大家去百度API Store找,有免费使用的。

我是用的是    ,接口地址是:http://apis.baidu.com/heweather/weather/free

 

2.后台代码

 

1 package com.byteslounge.websockets; 2 3 import bean.Response; 4 5 import javax.net.ssl.HttpsURLConnection; 6 import java.io.BufferedReader; 7 import java.io.InputStream; 8 import java.io.InputStreamReader; 9 import java.net.HttpURLConnection;10 import java.net.URL;11 import java.util.HashMap;12 飞艇稳赚不赔的打法先先去网上找一个免费的天气API,这里推荐大家去百度API Store找,有免费使用的。

我是用的是    ,接口地址是:http://apis.baidu.com/heweather/weather/free

 

2.后台代码

 

1 package com.byteslounge.websockets; 2 3 import bean.Response; 4 5 import javax.net.ssl.HttpsURLConnection; 6 import java.io.BufferedReader; 7 import java.io.InputStream; 8 import java.io.InputStreamReader; 9 import java.net.HttpURLConnection;10 import java.net.URL;11 import java.util.HashMap;12 import java.util.Map;13 14 15 public class Weather {16 17 public static String requests(String httpUrl, String httpArg) {18 BufferedReader reader = null;19 String result = null;20 StringBuffer sbf = new StringBuffer();21 httpUrl = httpUrl + “?” + httpArg;22 23 try {24 URL url = new URL(httpUrl);25 HttpURLConnection connection = (HttpURLConnection) url26 .openConnection();27 connection.setRequestMethod(“GET”);28 // 填入apikey到HTTP header29 connection.setRequestProperty(“apikey”, “0bc030269671ad02d5730afb5c355b34”);30 connection.connect();31 InputStream is = connection.getInputStream();32 reader = new BufferedReader(new InputStreamReader(is, “UTF-8”));33 String strRead = null;34 while ((strRead = reader.readLine()) != null) {35 sbf.append(strRead);36 sbf.append(“\r\n”);37 }38 reader.close();39 result = sbf.toString();40 } catch (Exception e) {41 e.printStackTrace();42 }43 return result;44 }45 }

 

 

 

3.前端JSP调用requests()方法

 

1 <%2 //通过接口获取天气当天天气数据3 String jsons = new Weather().requests(“http://apis.baidu.com/heweather/weather/free”, “city=yinzhou”);4 String json = new Weather().requests(“http://apis.baidu.com/heweather/weather/free”, “city=ningbo”);5 %>

 

jsons里面的信息:。

 

最后大家就可以使用json对数据进行获取,再使用jquery将数据放置在页面上了。这里给大家推荐个json转化器,http://c.runoob.com/front-end/53,可以方便大家进行数据的提取。

 

转载于:https://www.cnblogs.com/Java-dzz/p/6137576.html