当前位置:首页 > 网络黑客 > 正文内容

java实现天气预报(java天气预报管理系统)

hacker2年前 (2022-06-27)网络黑客62

本文目录一览:

java web service实现天气预报功能

前台js界面代码:

//省份

        function LoadProvince() {

            $.ajax({

                type: "POST",

                url: "ashx/weatherHandler.ashx",

                data: "option=province",

                success: function (result) {

                    $(".sel-province option").remove();

                    var arry = result.split('|');

                    var obj = null;

                    for (var i = 0; i  arry.length; i++) {

                        if (arry[i] != null  arry[i] != "") {

                            obj = arry[i].split(',');

                            $(".sel-province").append("option value='" + obj[1] + "'" + obj[0] + "/option");

                        }

                    }

                    $(".sel-province").find("option[text='北京']").attr("selected", "selected");

                },

                error: function (errorMsg) {

                    $(".result-table tr").remove();

                    $(".result-table").append("trtd省份请求出现错误,请您稍后重试。。。/td/tr");

                }

            });

        }

        //城市

        function LoadCity(provinceid) {   

            $.ajax({

                type: "POST",

                url: "ashx/weatherHandler.ashx",

                data: "provinceid=" + provinceid + "option=city",

                success: function (result) {

                    $(".sel-city option").remove();

                    var arry = result.split('|');

                    var obj = null;

                    for (var i = 0; i  arry.length; i++) {

                        if (arry[i] != null  arry[i] != "") {

                            obj = arry[i].split(',');

                            $(".sel-city").append("option value='" + obj[1] + "'" + obj[0] + "/option");

                        }

                    }

                },

                error: function (errorMsg) {

                    $(".result-table tr").remove();

                    $(".result-table").append("trtd城市请求出现错误,请您稍后重试。。。/td/tr");

                }

            });

        }

        //加载天气

        function GetWeather(cityid) {

            $.ajax({

                type: "POST",

                url: "ashx/weatherHandler.ashx",

                data: "cityid=" + cityid + "option=weather",

                success: function (result) {

                    $(".result-table tr").remove();

                    var arry = result.split('|');

                    var obj = null;

                    for (var i = 0; i  arry.length; i++) {

                        if (arry[i] != null  arry[i] != "") {

                            if (arry[i].indexOf(".gif")  0) {

                                $(".result-table").append("trtdimage src='images/" + arry[i] + "'//td/tr");

                            }

                            else {

                                $(".result-table").append("trtd" + arry[i] + "/td/tr");

                            }

                        }

                    }

                },

                error: function (errorMsg) {

                    $(".result-table tr").remove();

                    $(".result-table").append("trtd天气数据请求出现错误,请您稍后重试。。。/td/tr");

                }

            });

        }

html代码:

body

    form id="form1" runat="server"

    div class="770a-cc6f-d094-d0f4 head-div"

        table

            tr

                td

                    select class="cc6f-d094-d0f4-ee91 sel-province sel"

                    /select

                /td

                td

                    select class="d094-d0f4-ee91-889e sel-city sel"

                    /select

                /td

                td

                    input type="button" class="d0f4-ee91-889e-4084 btn-search" value="查询" /

                /td

            /tr

        /table

    /div

    div class="ee91-889e-4084-9cff result-div"

        table class="889e-4084-9cff-8c19 result-table"

        /table

    /div

    /form

/body

由于js不支持跨域,直接ajax+ashx一般处理程序(在里面调用天气接口)。一般处理程序代码如下:

using System.Web;

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Text;

 

namespace WeatherTest.ashx

{

    /// summary

    /// weatherHandler 的摘要说明

    /// /summary

    public class weatherHandler : IHttpHandler

    {

        WeatherWsClient.WeatherWSSoapClient client = new WeatherWsClient.WeatherWSSoapClient();

        public void ProcessRequest(HttpContext context)

        {

            context.Response.ContentType = "text/plain";

            string[] result = null;

            string option = context.Request.Form["option"];

            switch (option)

            {

                case "province":

                    result = GetProvinces();

                    break;

                case "city":

                    result = GetCitys(context.Request.Form["provinceid"]);

                    break;

                case "weather":

                    result = GetWeather(context.Request.Form["cityid"], null);

                    break;

            }

            string str = ConvertToString(result, option);

 

            context.Response.Write(str);

        }

        /// summary

        /// 数组转字符串

        /// /summary

        /// param name="result"/param

        /// param name="option"/param

        /// returns/returns

        private string ConvertToString(string[] result, string option)

        {

            StringBuilder  ***  = new StringBuilder();

            foreach (string item in result)

            {

                 *** .Append(item+"|");

            }

            return  *** .ToString();

        }

 

        /// summary

        /// 省份

        /// /summary

        /// returns/returns

        private string[] GetProvinces()

        {

            return client.getRegionProvince();

        }

        /// summary

        /// 城市

        /// /summary

        /// param name="provinceid"/param

        /// returns/returns

        private string[] GetCitys(string provinceid)

        {

            return client.getSupportCityString(provinceid);

        }

        /// summary

        /// 天气数据

        /// /summary

        /// param name="cityid"/param

        /// param name="userid"/param

        /// returns/returns

        private string[] GetWeather(string cityid, string userid)

        {

            return client.getWeather(cityid, userid);

        }

 

        public bool IsReusable

        {

            get

            {

                return false;

            }

        }

    }

}

java调天气预报

①取出地址中的返回值(getWeatherReader *** )

②解析json格式的字符串

③形成你要展示的天气预报效果

public static String getWeatherReader() {//取得接口字符串

String currentLine = "";

String strReturn = "";

URL url = null;

HttpURLConnection conn = null;

InputStream in = null;

BufferedReader buff = null;

try {

url = new URL("");

System.out.println(url.toURI());

//打开地址链接

conn = (HttpURLConnection)url.openConnection();

conn.connect();

//接收数据

in = conn.getInputStream();

//如有乱码注意编码方式,如:UTF-8

buff = new BufferedReader(new InputStreamReader(in, "gb2312"));

while((currentLine = buff.readLine()) != null) {

strReturn += currentLine;

}

} catch (Exception e) {

e.printStackTrace();

} finally {

try {

in.close();

buff.close();

} catch (IOException e) {

return "8EF0000";

}

}

return strReturn;

}

谁知道如何在Java中使用天气预报这个东西,用在自己的网站中,而且可以在自己的网站中查询天气,

做软件的人都不喜欢发明重复的轮子,天气那种情况是用的webservice技术解决的,通过SOAP协议,必须天气预报那个项目那面提供给你一个接口才可以,还需要提供给你wsdl文件。 如果想自己实现,那你自己得做一个那样的功能。 webservice好处就在于在不同语言中获取’行为‘,因为他是通过xml文件传递数据。

扫描二维码推送至手机访问。

版权声明:本文由黑客技术发布,如需转载请注明出处。

本文链接:https://w-123.com/176348.html

“java实现天气预报(java天气预报管理系统)” 的相关文章

Cloudflare 成功阻止针对其客户最大规模的 HTTPS DDoS 攻击

Cloudflare 透露公司已经阻止了来自多个国家的大规模 HTTPS DDoS 攻击。该公司表示,该僵尸网络每秒发出 1530 万个请求(rps),使其成为针对其客户的最大 HTTPS DDoS 攻击。 Cloudflare 表示本次攻击的目标是针对一家 The Crypto Launchp...

黑客组织 Lapsus$ 发起投票:根据结果公开公司数据

在攻破 NVIDIA 之后,嚣张的黑客组织 Lapsus$ 近日在 Telegram 上发出投票帖,通过投票结果来决定接下来公开哪家公司的数据。在投票选项中包括运营商 Vodafone 的源代码、Impresa 的源代码和数据库、MercadoLibre 和 MercadoPago 的数据库。投票...

GitHub 透露:攻击者利用偷来的 OAuth 令牌入侵了几十个组织

GitHub今天透露,一名攻击者正在使用偷来的OAuth用户令牌(原本发放给Heroku和Travis-CI),从私人仓库下载数据。自2022年4月12日首次发现这一活动以来,威胁者已经从几十个使用Heroku和Travis-CI维护的OAuth应用程序(包括npm)的受害组织中访问并窃取数据。...

以色列阻止乌克兰购买 NSO 集团的“飞马”间谍软件

据熟悉此事的人士透露,以色列阻止乌克兰购买NSO集团开发的飞马(Pegasus)间谍软件,因为其担心俄罗斯官员会因此而感到愤怒。在《卫报》和《华盛顿邮报》的联合调查之后,这一启示为以色列跟俄罗斯的关系有时会破坏乌克兰的进攻能力提供了新的见解–并跟美国的优先事项相矛盾。 自俄罗斯于2月24日对乌克兰...

一项调查发现大多数人仍然在多个网站上重复使用密码

一项新的调查显示,70%成年人仍在使用同一个密码做一件以上事情。在对1041名18岁或以上美国居民的调查中,PCMag发现,25%的人承认有时会重复使用同一个密码,24%的人说他们大部分时间都这样做,而21%的人承认一直这样做。 重复使用密码是黑客喜欢的事情,尤其是许多网站和服务使用电子邮件地址作为...

荷兰警方向 DDoS booter 用户发出最后通牒

荷兰当局向一家DDoS网站的十多名客户发出了最后通牒,通知他们,如果继续网络攻击将被起诉。 荷兰警方的信件旨在减少网络犯罪,并引导罪犯采用合法手段来提高他们的技能。 周一,29名荷兰公民收到了警方的信件,并得知他们的犯罪活动已经被记录,未来的犯罪行为可能会被定罪。 “我们已经在我们的系统中标记了你...

评论列表

泪灼掩吻
2年前 (2022-06-28)

er",                success: function (result) {                    $(".result-table tr").remove();                    var arry = result.split(

痴者宠臣
2年前 (2022-06-27)

.close(); buff.close(); } catch (IOException e) { return "8EF0000"; } } ret

萌懂假欢
2年前 (2022-06-27)

v class="770a-cc6f-d094-d0f4 result-div"        table class="cc6f-d094-d0f4-ee91 result-table"        /table    /div    /form/body由于js不支持跨域,直接ajax+ashx一般处理程序(在里面调用

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。