首先,很惭愧的告诉大家:于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/91zcmJCake 地址:https://github.com/keaijohnee/JCake
2、OSC下载:JFinal_Blog地址:http://git.oschina.net/jianggege/jfinal_91zcmJCake 地址:http://git.oschina.net/jianggege/JCake
3、演示站点:91注册码:http://www.91zcm.com
四、代码更新说明:原在OSC上的代码和Github上的代码同步更新;
在此,对于给使用和关注JFinal_Blog的朋友表示抱歉,感谢大家一如既往的关注和关心!
相关资源:jfinal_layui增删改查分页