关于JFinal_Blog 添加百度SiteMap服务Java代码bug修正

简介:

首先,很惭愧的告诉大家:于2014年6月2日发表的《JFinal_Blog 添加百度Ping和百度SiteMap服务》文章中提到的百度SiteMap代码存在逻辑调用错误,此bug已经修复并同步到了OSC和Github两大平台。

一、错误原因:
由于原先对于百度站长工具中的SiteMap方法是用有误读,今天登陆百度站长发现昨天提交的文章都出错了,于是仔细阅读,发现时调动方法参数传递错误(以前是无参,现在需要添加xml格式的参数)。

二、代码纠正如下:
1、百度SiteMap工具类方法:

package com.zcm.utils;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import com.jiangge.utils.DateUtils;

/**
 * 百度文章SiteMap工具
 * <p>Company:  91注册码</p>
 * time:2014-06-01
 * @author www.91zcm.com
 * @date 
 * @version 1.0
*/
public class SiteMapHttpUtils {

/**百度SiteMap地址**/
public static final String siteMapURL = "http://ping.baidu.com/sitemap?site=www.91zcm.com&resource_name=sitemap&access_token=lcrfZbBh";  

/**
* 百度SiteMap
* @param articleURL
*/
public static void postSiteMap(String articleURL) {  
        try {  
            URL url = new URL(siteMapURL);  
            URLConnection con = url.openConnection();  
            con.setDoOutput(true);  
            con.setRequestProperty("Pragma:", "no-cache");  
            con.setRequestProperty("Cache-Control", "no-cache");  
            con.setRequestProperty("Content-Type", "text/xml");  
            OutputStreamWriter out = new OutputStreamWriter(con.getOutputStream());      
            String xmlInfo = SiteMapHttpUtils.getXmlInfo(articleURL);  
            out.write(new String(xmlInfo.getBytes("ISO-8859-1")));  
            out.flush();  
            out.close();  
        } catch (MalformedURLException e) {  
            e.printStackTrace();  
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }  


/**
* 组装SiteMap需要的XML文件
* @param url
* @return
*/
private static String getXmlInfo(String url){
   StringBuffer xmlData = new StringBuffer("");
   xmlData.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
   xmlData.append("<urlset>");
   xmlData.append("<url>");
   xmlData.append("<loc><![CDATA[");
   xmlData.append(url);
   xmlData.append("]]></loc>");
   xmlData.append("<lastmod>");
   xmlData.append(DateUtils.getNowTime(DateUtils.DATE_SMALL_STR));
   xmlData.append("</lastmod>");
   xmlData.append("<changefreq>daily</changefreq>");
   xmlData.append("<priority>0.8</priority>"); 
   xmlData.append("</url>"); 
   xmlData.append("</urlset>");
   return xmlData.toString();
}
}

2、SiteMap方法调用参考如下:

/**添加到百度博客Ping中**/
String shareURL = "http://www.91zcm.com/" + category.getStr("url") + "/" + record.getInt("aid") + ".html";
PingUtils.pingBaidu(shareURL);
/**添加到百度SiteMap中**/
SiteMapHttpUtils.postSiteMap(shareURL);

三、JFinal_Blog相关地址:
1、Github下载:
JFinal_Blog地址:https://github.com/keaijohnee/91zcm
JCake 地址:https://github.com/keaijohnee/JCake

2、OSC下载:
JFinal_Blog地址:http://git.oschina.net/jianggege/jfinal_91zcm
JCake 地址:http://git.oschina.net/jianggege/JCake

3、演示站点:
91注册码:http://www.91zcm.com

四、代码更新说明:
原在OSC上的代码和Github上的代码同步更新;

在此,对于给使用和关注JFinal_Blog的朋友表示抱歉,感谢大家一如既往的关注和关心!

相关文章
|
14天前
|
分布式计算 DataWorks Java
DataWorks操作报错合集之在使用MaxCompute的Java SDK创建函数时,出现找不到文件资源的情况,是BUG吗
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
26 0
|
22天前
|
Java 关系型数据库 MySQL
Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
【4月更文挑战第12天】Elasticsearch【问题记录 01】启动服务&停止服务的2类方法【及 java.nio.file.AccessDeniedException: xx/pid 问题解决】(含shell脚本文件)
57 3
|
5天前
|
JavaScript 小程序 Java
Java毕设之在线医疗服务系统的设计与实现
Java毕设之在线医疗服务系统的设计与实现
11 3
|
5天前
|
小程序 Java 关系型数据库
Java毕设之农产品供销服务系统
Java毕设之农产品供销服务系统
11 2
|
5天前
|
安全 Java API
使用Java构建RESTfulWeb服务
使用Java构建RESTfulWeb服务
8 0
|
6天前
|
Arthas 安全 Java
java服务报错 FileNotFoundException:打开的文件过多
java服务报错 FileNotFoundException:打开的文件过多
15 0
|
12天前
|
存储 网络协议 Java
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
本地MinIO存储服务通过Java程序结合cpolar实现远程连接上传文件
|
15天前
|
运维 NoSQL Java
Serverless 应用引擎产品使用之在函数计算上部署Java服务并访问阿里云MongoDB如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
16 0
|
24天前
|
JavaScript Java 测试技术
基于Java的宠物服务平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的宠物服务平台的设计与实现(源码+lw+部署文档+讲解等)
22 1
|
24天前
|
JavaScript Java 测试技术
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
基于Java的中学生课后服务的信息管理与推荐的设计与实现(源码+lw+部署文档+讲解等)
27 2