- 浏览: 138451 次
- 性别:
- 来自: 无锡
文章分类
最新评论
-
yh443042575:
楼主造福社会呀,顶顶顶!!!
jfreechart学习笔记三 带刻度的蜘蛛图 -
twtja1:
最后一句"如果需要在父类中仍然要使用类型字段,需要在 ...
hibernate继承之一,单表继承映射 -
qq361837213:
更换新版dwr的jar包就行了,新版本解决了这个问题
dwr文件上传在chrome下的问题及解决方法 -
无象心:
无象心 写道改为这样就可以了
loadingComple ...
dwr文件上传在chrome下的问题及解决方法 -
无象心:
loadingComplete:function(ba ...
dwr文件上传在chrome下的问题及解决方法
因为jquery的ajax有跨域问题,使用java来读取rss源,用jquery解析返回回来的xml文件并显示
1、html代码,tab页面样式
<div class="adlike dcsbox">
<div class="h">
<h3> </h3>
<a class="dcsbox-h-more" href="/templates/index.jsp" target="_blank">更多</a>
<ul class="poptab" id="poptab1"></ul>
</div>
<div class="b" id="poptab1-c"></div>
<div class="f"><b></b></div>
</div>
2、jquery代码
<script type="text/javascript">
//tab插件
(function($){
$.poptab=function(tabs,targets,num){
var curtab=$('poptab'),curtarget=curtab,
add=function(k,v,n){
if(!k) return false
k.each(function(i,o){
$(o).mouseover(function(){
curtab.removeClass("cur");
curtab=$(o).addClass("cur");
curtarget.hide();
curtarget=v.eq(i).show();
});
if(n===i){
$(o).mouseover();
}
});
return add;
};
if(tabs){
if(tabs.size()==0) return add;
add(tabs,targets,num);
if(num===undefined){
tabs.eq(0).mouseover();
}
};
return add;
}
})(jQuery);
//jQuery.poptab(jQuery("#poptab1>li"),jQuery("#poptab1-c>div"),2)
(function($){
var poptab=$.poptab($("#poptab1>li"),$("#poptab1-c>div"));
//var poptab=$.poptab(),
hasTumb=function(o){
if(o.getElementsByTagName("description").length>0){
return o.getElementsByTagName("description")[0].firstChild.data.match(/<img\s.*?src=.*?>/i);
}
},
markrss=function(title,src,num){
var tt,url="/static/downloadService?action=rssDown";
if(src.indexOf("http://")<0) url=src;
if(this instanceof $){
tt=this;
}else{
tt=$("<li><span></span>"+title+"</li>").appendTo("#poptab1");
};
$.ajax({
url:url,
type:"POST",
data:{url:src},
dataType:"xml",
success:function(m){
var pho=null,//图片新闻
photitle="",
pholink="",
head="",//标题新闻
list=[],//新闻列表
items=m.getElementsByTagName("item");
for(var i=0,len=items.length;i<len;i++){
if(pho==null){
pho=hasTumb(items[i]);
photitle=items[i].getElementsByTagName("title")[0].firstChild.data;
pholink=items[i].getElementsByTagName("link")[0].firstChild.data;
if(pho!=null){
pho=unescape(pho.toString()).replace("http://t1.baidu.com/it/u=","").replace("&fm=30","");
pho=pho.replace('src="images/','src="/templates/images/');
continue;
}
};
if(head==""){
head='<a href="'+items[i].getElementsByTagName("link")[0].firstChild.data+'" class="p-news-head" target="_blank">'+items[i].getElementsByTagName("title")[0].firstChild.data+'</a>';
continue;
};
if(list.length<5){
list.push('<li><a href="'+items[i].getElementsByTagName("link")[0].firstChild.data+'" target="_blank">'+items[i].getElementsByTagName("title")[0].firstChild.data+'</a></li>');
}
};
tt.find("span").remove();
poptab(tt,
$('<div class="p-news" style="display:none">\
<div class="p-news-pho">\
<a class="p-news-pho-img" href="'+pholink+'" target="_blank">'+pho+'</a>\
<a href="'+pholink+'" target="_blank"><span>'+photitle+'</span></a>\
</div>\
<div class="p-news-list">\
'+head+'\
<ul>\
'+list.join("")+'\
</ul>\
</div>\
</div>').appendTo("#poptab1-c").find("img").bind("load",function(){
var w=this.width,h=this.height,_w=145,_h=131;
if(w==0){
var t=this,f=arguments.callee,
fixIE=function(){
tt.unbind("mouseover",fixIE)
f.apply(t);
};
tt.bind("mouseover",fixIE);
return false;
}
if(w/h>_w/_h){
this.style.height=_h+"px";
this.style.width=_h*w/h+"px";
this.style.marginLeft="-"+(_h*w/h-_w)/2+"px";
}else{
this.style.width=_w+"px";
this.style.height=_w*h/w+"px";
this.style.marginTop="-"+(_w*h/w-_h)/2+"px";
};
}).end(),num);
},
error:function(){
tt.find("span").remove();
$("<a href='#'>刷新</a>").click(function(){
markrss.apply(tt,[title,src,num]);
$(this).remove();
tt.prepend("<span/>");
return false;
}).appendTo(tt);
}
});
};
//rss来源:http://www.baidu.com/search/rss.html#02
//markrss("新闻","/templates/cnrss.xml",0);//公司
markrss("公告","/templates/ggrss.xml",0);//公告
//markrss("行业","/templates/hyrss.xml");//行业
markrss("热点","http://news.baidu.com/n?cmd=1&class=civilnews&tn=rss");
markrss("国际","http://news.baidu.com/n?cmd=1&class=internews&tn=rss");
markrss("财经","http://news.baidu.com/n?cmd=1&class=finannews&tn=rss");
markrss("社会","http://news.baidu.com/n?cmd=1&class=socianews&tn=rss");
})(jQuery);
</script>
这里用的是百度的源
3、servlet读取源信息
response.setContentType("text/xml;charset=utf-8");
System.out.println("rss");
String url = request.getParameter("url");
System.out.println(url);
StringBuffer content = new StringBuffer();
String line = "";
String xml = "";
Element el = null;
//先从缓存中获取
Cache rssCache = MyEcache.getCache("rsscache");
el = rssCache.get(url);
if(el!=null)
{
xml = (String) el.getObjectValue();
if(xml!=null && !"".equals(xml) && !xml.contains("访问出错"))
{
response.getWriter().print(xml);
response.getWriter().flush();
response.getWriter().close();
return;
}
}
URL ser = new URL(url);
HttpURLConnection con = (HttpURLConnection) ser.openConnection();
//con.connect();
InputStream in = con.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(in,"gb2312"));
while((line=br.readLine())!=null)
{
content.append(line);
}
in.close();
con.disconnect();
xml = content.toString();
//byte[] b = cc.getBytes("UTF-8");
//String xml = new String(b, 0, b.length, "UTF-8");
// Document doc = DocumentHelper.parseText(xml);
// System.out.println("(2)"+xml);
xml = xml.replace("gb2312", "UTF-8");
el = new Element(url, xml);
rssCache.putQuiet(el);
response.getWriter().print(xml);
response.getWriter().flush();
response.getWriter().close();
注:百度的rss源会判断你是否机器读取,如果你不停的链接它的话,会屏蔽你哦,使用采用ehcache做个缓存,5分钟,或者半个小时读取一次,就可以解决这个问题
发表评论
-
javascript闭包理解
2018-01-14 12:56 0关于javascript的闭包,牵涉作用域,因为js为词法 ... -
JS冻结表头和列
2017-12-27 16:44 0可冻结表头和列,但是表格需区分thead和tbody,原理是覆 ... -
锁定表头的JS写法,支持动态宽度
2017-12-26 17:32 0<style type="text/css& ... -
easyui-treegrid加载问题
2017-07-20 08:51 0关于easyui treegrid的loadData的加载 ... -
tomcat部署多个项目注意点
2016-11-22 21:45 01、启动老是报jdbc.driver的错。把jar都从 ... -
JS日期类型字符串转日期类型
2015-03-17 13:58 0var fdate = eval('new Date(' + ... -
EXT 3.2 总结
2014-10-16 00:42 01、关于window的滚动条。 在IE兼容模式下,只写a ... -
EXT DOM
2014-08-31 15:11 01.获取dom 通过id获取: var el = Ext.g ... -
EXT URL字符集
2014-08-31 15:10 0为什么java.net.URLEncoder.e ... -
maven学习笔记六 构建配置
2014-07-02 22:22 0maven一直致力于使构建 ... -
maven学习笔记五 POM
2014-06-26 00:27 0POM project object model项目对象模 ... -
maven3读书笔记 第一个maven工程
2014-06-17 10:06 0在命令行中输入: mvn archetype:gener ... -
关于南车项目的一些技术性总结
2013-11-06 10:15 0写道 set JAVA_OPTS=-Xms512m ... -
php5.5 win7 64位系统安装配置
2013-07-23 21:04 0本人系统是win7 64 位所以需要安装64位的php ... -
Hibernate middleGen工具使用
2013-07-16 23:01 0本文所用数据库版本为MySQL5.0.15、Oracle10 ... -
springAOP后对象代理和hibernate不识别问题
2013-07-16 23:03 1027场景:自定义注解,AOP拦截,处理前置业务。然后从spri ... -
tomcat7内存溢出错误的一些原因和解决方案
2013-01-11 19:42 10978今天在做公司一个工程2个版本的运行时,突然出现新版的工程在t ... -
maven3读书笔记一 认识maven
2013-01-08 18:35 0maven是什么,简单来说,它是一个构建和管理你工程的一个工 ... -
分享两个数据库转换小工具,挺有用的
2013-01-08 17:07 948一个是oracle转mysql的 另一个是mysql转ora ... -
jfreechart学习笔记三 带刻度的蜘蛛图
2013-01-08 16:58 3193其实带刻度的蜘蛛图网上也有不少资料,我这个也是参照别人的资料 ...
相关推荐
Java读取Excel内容 v Java读取Excel内容 Java读取Excel内容
RSSJava提供了一组API来创建、读取和写入RSS feeds,而Rome则是一个更全面的库,支持RSS和Atom格式,包含了解析、生成和订阅功能。 7. **RSS更新通知**: 虽然RSS本身不提供更新通知机制,但可以通过结合Webhooks...
在Java中,读取RSS数据首先需要获取RSS源的URL,然后使用XML解析器解析该URL的内容。这里采用的是SAX解析器,它通过触发一系列的事件(如开始文档、开始元素、结束元素等)来处理XML数据。以下是使用SAX解析XML的...
java代码-使用java解决读取U盘信息的源代码 ——学习参考资料:仅用于个人学习使用!
Java 读取 ShapeFile 文件的源代码解析 ShapeFile 是一种常用的 GIS 文件格式,用于存储地理空间数据。 Java 语言可以通过各种库和框架来读取 ShapeFile 文件。下面将对 Java 读取 ShapeFile 文件的源代码进行解析...
java读取txt文件,可以以文件路径构造这个流,:FileInputStream fin = new FileInputStream("d:/test.txt"); 然后使用这个流直接读取到文件,再使用reader构造BufferedReader,按行读取一整行的文本,作为字符串返回...
java读取excel数据导入数据库源码 java读取excel数据导入数据库源码
java读取本地图片文件获取流!java读取本地图片文件获取流!
java读取dwg的预览图, 使java将autocad 的dwg文件读出预览图
【标题】:“RSS源代码(在线阅读新闻)” 在IT领域,RSS(Really Simple Syndication)是一种用于发布和聚合Web内容的XML格式。它允许用户订阅感兴趣的网站或博客的更新,而无需亲自访问每个站点。RSS源代码通常指...
在Java编程环境中,读取局域网内共享机器上的文件是一项常见的任务,特别是在分布式系统或者需要跨设备协作的场景下。下面将详细讲解如何通过Java实现这一功能。 首先,理解基本概念:局域网(Local Area Network, ...
在Java中读取Access数据库的数据通常涉及使用Java Database Connectivity (JDBC) API。本文将详细介绍如何使用JDBC连接到Access数据库并进行分页读取数据,同时也会提及相关的库和示例代码。 首先,我们需要一个能...
在Java编程环境中,读取和显示来自mdb数据库(通常是Microsoft Access数据库)的数据是一个常见的任务,特别是在需要集成数据库功能的桌面应用程序中。以下是一篇详细解释如何实现这一目标的文章。 首先,要与mdb...
在Java编程环境中,读取USB扫描枪的数据是一项实用的技术,特别是在物流、仓储、零售等领域,用于快速录入条形码或二维码信息。以下将详细介绍如何在Java中实现这一功能。 首先,理解USB扫描枪的工作原理是关键。...
java 读取远程共享文件,一个操作简单的读取远程资源的控件。
Java读取GRIB2文件是气象和气候数据处理中常见的任务,因为GRIB(General Regularly-distributed Information in Binary form)格式是世界气象组织(WMO)推荐的标准数据存储格式,广泛用于气象预报和气候模型输出。...
4. 显示已读取的百分比:在读取大文件时,我们可以显示已读取的百分比,以便用户了解文件的读取进度。 知识点总结 在Java读取大文件的处理中,我们需要考虑以下几个知识点: 1. 使用ProgressMonitorInputStream来...
在Java编程环境中,读取ZIP文件是一项常见的任务,特别是在处理归档数据或打包资源时。以下将详细讲解如何使用Java来实现这一功能。 首先,Java提供了`java.util.zip`包,该包包含了处理ZIP文件所需的类,如`...
本篇文章将深入探讨如何使用Java来读取TIFF文件,并获取其尺寸——即图像的宽度(长)和高度。 在Java中,处理TIFF文件通常需要借助第三方库,因为Java的标准API(如`java.awt.image.BufferedImage`)并不直接支持...
本文将详细讲解如何使用Java来读取ArcGIS的切片包(.tpk)数据,这是一种高效的数据存储方式,常用于地图渲染和离线地图应用。 ArcGIS切片包(Tile Package)是Esri公司的产品,它包含了一系列预渲染的地图切片,以...