关于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的朋友表示抱歉,感谢大家一如既往的关注和关心!

相关文章
|
7天前
|
Java 测试技术 应用服务中间件
常见 Java 代码缺陷及规避方式(下)
常见 Java 代码缺陷及规避方式(下)
26 0
|
8天前
|
Java
Java中ReentrantLock释放锁代码解析
Java中ReentrantLock释放锁代码解析
25 8
|
1天前
|
JavaScript Java 测试技术
基于Java的珠江学院大学生自愿者服务网的设计与实现(源码+lw+部署文档+讲解等)
基于Java的珠江学院大学生自愿者服务网的设计与实现(源码+lw+部署文档+讲解等)
10 0
|
4天前
|
JavaScript Java 测试技术
基于Java的家政公司服务平台的设计与实现(源码+lw+部署文档+讲解等)
基于Java的家政公司服务平台的设计与实现(源码+lw+部署文档+讲解等)
20 1
|
7天前
|
Java
代码的魔法师:Java反射工厂模式详解
代码的魔法师:Java反射工厂模式详解
18 0
|
7天前
|
监控 安全 Java
常见 Java 代码缺陷及规避方式(中)
常见 Java 代码缺陷及规避方式(中)
20 1
|
7天前
|
JavaScript Java 测试技术
基于Java的社区老年人关怀服务系统的设计与实现(源码+lw+部署文档+讲解等)
基于Java的社区老年人关怀服务系统的设计与实现(源码+lw+部署文档+讲解等)
18 1
|
9天前
|
设计模式 算法 Java
23种设计模式,模板方法模式的概念优缺点以及JAVA代码举例
【4月更文挑战第10天】模板方法模式是一种行为设计模式,它定义了一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以在不改变算法结构的情况下,重新定义算法中的某些特定步骤。
11 0
|
存储 设计模式 缓存
听说你还不懂 Java 的服务定位器模式(Service Locator Pattern)?(上)
听说你还不懂 Java 的服务定位器模式(Service Locator Pattern)?
163 0
听说你还不懂 Java 的服务定位器模式(Service Locator Pattern)?(上)
|
1天前
|
安全 Java
java多线程(一)(火车售票)
java多线程(一)(火车售票)