`
烟的傀儡
  • 浏览: 27652 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

java版天气预报源码(struts2)

    博客分类:
  • j2ee
阅读更多

/*
'
' 文件名        免费天气插件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天气预报查询源码】是一个开放源码的项目,主要功能是利用WebService技术来获取并展示天气预报信息。这个项目特别适用于学习和开发与天气相关的应用,它免费提供了数据来源,降低了开发成本,同时也为...

    JAVA上百实例源码以及开源项目源代码

    Java局域网通信——飞鸽传书源代码 28个目标文件 内容索引:JAVA源码,媒体网络,飞鸽传书 Java局域网通信——飞鸽传书源代码,大家都知道VB版、VC版还有Delphi版的飞鸽传书软件,但是Java版的确实不多,因此这个Java...

    基于Struts+Hibernate+Spring的Web_应用开发

    - 实现一个简单的Spring MVC项目,比如天气预报服务,加深对Spring框架的理解。 ##### (三)任务三:Hibernate与Spring的联合开发(8课时) - **目标**:通过整合Hibernate和Spring框架,掌握使用这两个框架协同...

    worldwindjava源码-Weather-Outlook:气象预报员

    制作的天气预报器,用于显示地球上任何地方的当前状态天气和天气预报。 该程序是使用 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)

    【标题】"Note笔记系统(SSH)"是一个基于流行开源技术栈开发的在线笔记应用,主要利用了Struts2、Hibernate和Spring(SSH)这三大Java Web开发框架。SSH框架组合提供了模型-视图-控制器(MVC)设计模式的强大支持,...

    SSI搭建案例

    它允许网页开发者在静态页面中嵌入动态元素,如时间戳、天气预报或者用户特定的信息,而无需使用更复杂的服务器端语言,如PHP或Java。在本案例中,我们将探讨如何使用SSI搭建一个基于Struts1框架的应用。 首先,`...

    dwr框架Jar

    - **与Spring MVC、Struts2等MVC框架结合**:DWR可以与这些框架无缝集成,增强前端与后端的交互能力。 7. **DWR的扩展与配置** - **自定义转换器**:DWR允许开发者定义自己的数据类型转换器,以便在JavaScript和...

    DWR心得

    - 实时数据更新:例如股票报价、天气预报等需要实时显示的数据。 - 表单验证:服务器端可以即时验证用户输入,减少无效的服务器负载。 - 动态内容加载:如分页、无限滚动加载等,提升用户体验。 - 复杂的用户交互:...

Global site tag (gtag.js) - Google Analytics