/*
'
' 文件名 免费天气插件j2ee+jqeury版本
' 作者 烟de傀儡
' 日期 2011年05月10日
' 声明
' 感谢 '走过四季' 提供jqeury版本的天气预报插件
' 由于浏览器兼容问题(有些浏览器不能跨域抓数据)
' 我将此该为struts2的j2ee版本
'
*/
//jsCity、jsWeather为您html中的元素ID
function setWeather(tID,tCity,tTip,tWendu,tFengli)
{
alert(tWendu);
$("#jsCity").html("<a href='http://www.weather.com.cn/html/weather/"+tID+".shtml' target=_bank>"+tCity+"</a>");
$("#jsWeather").html(tTip);
$("#jsFengli").html(tFengli);
$("#jsWendu").html(tWendu);
}
var cityid,weaXML,weaHTML;
weaXML = "http://service.weather.com.cn/plugin/";
weaHTML = "http://m.weather.com.cn/data/";
$().ready(function() {
cityid = $.cookies.get('wea_cityip');
if(cityid==null){
LoadJS('http://61.4.185.48:81/g/', function()
{
if (typeof id != 'undefined')
{
$.cookies.set('wea_cityip', id,null);
cityid = $.cookies.get('wea_cityip');
getWeather(cityid);
}
});
}
else{
getWeather(cityid);
}
});
function getWeather(cid)
{
$.cookies.set('wea_cityid', cid,null);
var weajs = weaHTML+cid+'.html';
var url = "http://localhost:8080/weatherDemo/getWeatherData?url="+weajs;
$.getJSON(
//weajs,
url,
function(objJson){
var cityname = objJson.weatherinfo.city; //上海
var id = objJson.weatherinfo.cityid; //101020100
var cityinfo1=objJson.weatherinfo.weather1; //晴转多云
var cityinfo2=objJson.weatherinfo.weather2;
var wd1=objJson.weatherinfo.wind1; //北风3-4级
var wd2=objJson.weatherinfo.wind2;
var fl1=objJson.weatherinfo.fl1; //3-4级
var fl2=objJson.weatherinfo.fl2;
var temp1=objJson.weatherinfo.temp1; //4℃~-1℃
var temp2=objJson.weatherinfo.temp2;
var img1=objJson.weatherinfo.img1;
var img2=objJson.weatherinfo.img2;
var img3=objJson.weatherinfo.img3;
var img4=objJson.weatherinfo.img4;
var index=objJson.weatherinfo.index;
var index_d=objJson.weatherinfo.index_d;
var index_xc=objJson.weatherinfo.index_xc;
var index_uv=objJson.weatherinfo.index_uv;
var date=objJson.weatherinfo.date;
var date_y=objJson.weatherinfo.date_y;
var imgtitle1=objJson.weatherinfo.img_title1;
var imgtitle2=objJson.weatherinfo.img_title2;
var imgsingle=objJson.weatherinfo.img_single;
var imgtitlesingle=objJson.weatherinfo.img_title_single;
setWeather(id,cityname,cityinfo1,temp1.toString(),wd1);
});
}
function LoadJS(jsUrl,fCallBack)
{
var _script = document.createElement('script');
_script.setAttribute('type', 'text/javascript');
_script.setAttribute('charset', 'UTF-8');
_script.setAttribute('src', jsUrl);
document.getElementsByTagName('head')[0].appendChild(_script);
if(typeof fCallBack != 'undefined')
{
if ($.browser.msie){
_script.onreadystatechange = function()
{
if (this.readyState=='loaded'||this.readyState=='complete'){
fCallBack();
}
};
}else if ($.browser.mozilla)
{
_script.onload = function(){
fCallBack();
};
}else{
fCallBack();
}
}
}
上面为:chWeather.js
package com.ch.util;
import java.io.IOException;
import org.apache.commons.httpclient.HttpClient;
import org.apache.commons.httpclient.HttpException;
import org.apache.commons.httpclient.HttpMethod;
import org.apache.commons.httpclient.methods.GetMethod;
public class DataHttpClient {
public String getWeaherData(String url){
HttpClient http = new HttpClient();
if(null == url || url.equals("")){
url="http://m.weather.com.cn/data/101110101.html";//默认西安的天气
}
HttpMethod method = new GetMethod(url);
String data = "";
try {
http.executeMethod(method);
System.out.println(method.getStatusLine());
int i = method.getStatusCode();
if(vilidateStatus(i)){
data = method.getResponseBodyAsString();
}
System.out.println("我来看看"+data);
} catch (HttpException e) {
System.out.println(e.getMessage());
return null;
} catch (IOException e) {
System.out.println(e.getMessage());
return null;
}
// 打印服务器返回的状态
return data;
}
public boolean vilidateStatus(int i){
if(i==200){
return true;
}
return false;
}
}
上面为:DataHttpClient.java
另外附上源码
分享到:
相关推荐
【WebService天气预报查询源码】是一个开放源码的项目,主要功能是利用WebService技术来获取并展示天气预报信息。这个项目特别适用于学习和开发与天气相关的应用,它免费提供了数据来源,降低了开发成本,同时也为...
Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...
- 实现一个简单的Spring MVC项目,比如天气预报服务,加深对Spring框架的理解。 ##### (三)任务三:Hibernate与Spring的联合开发(8课时) - **目标**:通过整合Hibernate和Spring框架,掌握使用这两个框架协同...
制作的天气预报器,用于显示地球上任何地方的当前状态天气和天气预报。 该程序是使用 Java Swing 作为用户界面实现的。 它从 . 什么是 API? 应用程序编程接口 (API) 是一组用于构建软件应用程序的例程、协议和工具...
3. 微信公众平台开发之Struts2 (免费) 25:31 4. 微信公众平台开发之Spring MVC 27:12 5. 识别微信浏览器 24:40 6. 限制只允许微信浏览器访问 23:30 7. 一套程序服务多个账号---原始ID 17:46 8. 一套程序服务多个账号...
【标题】"Note笔记系统(SSH)"是一个基于流行开源技术栈开发的在线笔记应用,主要利用了Struts2、Hibernate和Spring(SSH)这三大Java Web开发框架。SSH框架组合提供了模型-视图-控制器(MVC)设计模式的强大支持,...
它允许网页开发者在静态页面中嵌入动态元素,如时间戳、天气预报或者用户特定的信息,而无需使用更复杂的服务器端语言,如PHP或Java。在本案例中,我们将探讨如何使用SSI搭建一个基于Struts1框架的应用。 首先,`...
- **与Spring MVC、Struts2等MVC框架结合**:DWR可以与这些框架无缝集成,增强前端与后端的交互能力。 7. **DWR的扩展与配置** - **自定义转换器**:DWR允许开发者定义自己的数据类型转换器,以便在JavaScript和...
- 实时数据更新:例如股票报价、天气预报等需要实时显示的数据。 - 表单验证:服务器端可以即时验证用户输入,减少无效的服务器负载。 - 动态内容加载:如分页、无限滚动加载等,提升用户体验。 - 复杂的用户交互:...