相关文章推荐
欢乐的灭火器  ·  Java生成sitemap网站地图 - ...·  2 月前    · 
寂寞的登山鞋  ·  Springboot动态生成网站地图site ...·  2 月前    · 
不爱学习的火腿肠  ·  新疆大学数学与系统科学学院2024年博士后招 ...·  8 月前    · 
打酱油的西装  ·  汕尾民用电费收费标准-峰谷电价-阶梯电价收费 ...·  1 年前    · 
聪明伶俐的鞭炮  ·  一人之下:张楚岚为什么会说创造八奇技的方法就 ...·  2 年前    · 
谈吐大方的拐杖  ·  OFFICE Web 加载项的 VSTO ...·  2 年前    · 
慷慨大方的铁板烧  ·  王思聪5亿“零花钱”练手却亏了20亿 ...·  2 年前    · 
Code  ›  Springboot动态生成网站地图sitemap教程开发者社区
网站地图 string sitemap
https://cloud.tencent.com/developer/article/2302926
寂寞的登山鞋
2 月前
用户9131103

Springboot动态生成网站地图sitemap教程

腾讯云
开发者社区
文档 建议反馈 控制台
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
发布
用户9131103
社区首页 > 专栏 > Springboot动态生成网站地图sitemap教程

Springboot动态生成网站地图sitemap教程

作者头像
用户9131103
发布 于 2023-07-17 18:48:07
发布 于 2023-07-17 18:48:07
993 0
举报
文章被收录于专栏: 工作经验 工作经验

发现自从换了一套博客程序后,之前搜索引擎抓取的链接都失效了,所以才有此想法采用java生成动态的网站地图。 # 步骤一 创建实体 > SiteMapVo

```java package com.my.blog.website.modal.Vo;

import com.my.blog.website.utils.SiteMapUtils; import org.thymeleaf.util.DateUtils;

import java.util.Date; import java.util.Locale;

/** * @author Jesse-liu * @description: 网站地图entity * @date 2020/5/7 9:09 public class SiteMapVo { * url https://www.xxx.com private String loc; * 最后更新时间 yyyy-MM-dd private Date lastmod; * 更新速度 always hourly daily weekly monthly yearly never private String changefreq; * 权重 1.0 0.9 0.8 private String priority;

public String getLoc() { return loc; }

public void setLoc(String loc) { this.loc = loc; }

public Date getLastmod() { return lastmod; }

public void setLastmod(Date lastmod) { this.lastmod = lastmod; }

public String getChangefreq() { return changefreq; }

public void setChangefreq(String changefreq) { this.changefreq = changefreq; }

public String getPriority() { return priority; }

public void setPriority(String priority) { this.priority = priority; }

public SiteMapVo() {

}

public SiteMapVo(String loc) { this.loc = loc; this.lastmod = new Date(); this.changefreq = SiteMapUtils.CHANGEFREQ_ALWAYS; this.priority = "1.0"; }

public SiteMapVo(String loc, Date lastmod, String changefreq, String priority) { this.loc = loc; this.lastmod = lastmod; this.changefreq = changefreq; this.priority = priority; }

@Override /** 重写 toString 适应xml格式 */ public String toString() { StringBuffer sb = new StringBuffer(); sb.append("

"); sb.append("" + loc + ""); sb.append("" + DateUtils.format(lastmod, "yyyy-MM-dd", Locale.SIMPLIFIED_CHINESE) + ""); sb.append("" + changefreq + ""); sb.append("" + priority + ""); sb.append("

"); return sb.toString(); }

```

# 步骤二 创建工具类 > SiteMapUtils

```java package com.my.blog.website.utils;

import com.my.blog.website.constant.WebConst; import com.my.blog.website.modal.Vo.ContentVo; import com.my.blog.website.modal.Vo.SiteMapVo; import com.my.blog.website.service.IContentService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component;

import java.util.List;

/** * @author Jesse-liu * @description: java生成sitemap网站地图工具类 * @date 2020/5/7 10:25 @Component public class SiteMapUtils {

public final static String BEGIN_DOC = "

"; public final static String END_DOC = "

"; public final static String CHANGEFREQ_ALWAYS = "always"; public final static String CHANGEFREQ_HOURLY = "hourly"; public final static String CHANGEFREQ_DAILY = "daily"; public final static String CHANGEFREQ_WEEKLY = "weekly"; public final static String CHANGEFREQ_MONTHLY = "monthly"; public final static String CHANGEFREQ_YEARLY = "yearly"; public final static String CHANGEFREQ_NEVER = "never";

@Autowired private IContentService contentsService;

public String getBlogSiteMap() { StringBuffer sb = new StringBuffer(); sb.append(BEGIN_DOC); sb.append(new SiteMapVo(WebConst.initConfig.get("site_url"))); List contentList = contentsService.findContentList(); contentList.forEach(entity -> { sb.append(new SiteMapVo(Commons.permalink(entity), DateKit.dateFormat(Commons.fmtdate(entity.getModified(), "yyyy-MM-dd"), "yyyy-MM-dd"), CHANGEFREQ_MONTHLY, "0.9")); sb.append(END_DOC); return sb.toString(); }

public String getBzSiteMap() { StringBuffer sb = new StringBuffer(); sb.append(BEGIN_DOC); sb.append(new SiteMapVo(WebConst.initConfig.get("site_url"))); sb.append(END_DOC); return sb.toString(); }

``` # 步骤三 > Web层添加请求控制器

```java * @return : java.lang.String * @author Jesse-liu * @date 2020/5/7 * @description: 动态生成网站地图sitemap @GetMapping(value = {"sitemap.xml", "sitemap"}) public void getSiteMap(HttpServletResponse response) throws IOException { response.setCharacterEncoding("UTF-8");

 
推荐文章
欢乐的灭火器  ·  Java生成sitemap网站地图 - WeJan1
2 月前
寂寞的登山鞋  ·  Springboot动态生成网站地图sitemap教程开发者社区
2 月前
不爱学习的火腿肠  ·  新疆大学数学与系统科学学院2024年博士后招聘公告-新疆大学数学与系统科学学院
8 月前
打酱油的西装  ·  汕尾民用电费收费标准-峰谷电价-阶梯电价收费标准-汕尾电费多少钱一度? - 无敌电动网
1 年前
聪明伶俐的鞭炮  ·  一人之下:张楚岚为什么会说创造八奇技的方法就在天师度中? - 知乎
2 年前
谈吐大方的拐杖  ·  OFFICE Web 加载项的 VSTO 外接程序开发人员指南 - Office Add-ins | Microsoft Learn
2 年前
慷慨大方的铁板烧  ·  王思聪5亿“零花钱”练手却亏了20亿 母亲帮还1亿_手机新浪网
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号