网站优化之使用free marker静态化网站文章页-利来国际登录

博客做出来的时分就想要把一些栏目和文章页都静态化处理,当时没啥时刻搞,就一向没去弄。可是最近的工作就是做网站,用cms快速搭出了几个网站,cms建立网站是真的便利啊 假如没有需要二次开发实现的功能,那基本不需要写后端代码的。并且做出来的还不错,怪不得看很多博主都是用cms建立的博客。 我是用的freecms,展示层就有用free marker来做。 然后就参阅这个cms的源码 把自己博客的文章页静态化了下。

 原文连接:杭州网站建设

静态化主要是为了提高网页打开的速度,然后还有利于seo,更容易被搜索引擎识别收录,而且比较稳定和安全。

free marker静态化原理是用模板 数据模型=输出html网页。

freemarker并不关心数据的来源,只是根据模板的内容,将数据模型在模板中显示并输出文件(通常为html,也可以生成其它格式的文本文件)

首先引入jar包

free marker的jar包和文档

maven依赖

org.freemarker
freemarker
2.3.23

代码

根据模板文件和数据模型创建html的方法

private void createhtml(string templetpath, string siteinfopath, hashmap map) throws exception {
// ①创建配置对象(创建一个configuration对象,直接new一个对象。构造方法的参数就是freemarker对于的版本号。)
configuration cfg = new configuration(configuration.getversion());// 注意:这里需要传递一个版本
// ②读取模板文件夹
cfg.setdirectoryfortemplateloading(new file(templetpath));// 设置要加载的模板文件的路径,这里的templetpath就是模板的路径webapp/templet/
// ③设置模板的编码格式 cfg.setdefaultencoding("utf-8"); // ④获取模板对象
file htmlfile = new file(siteinfopath); //siteinfopath是静态化生成的html存放的路径,webapp/site/info/2019-11-30(文章日期)/文章id.html(根据自己的需要来设置)
template template = cfg.gettemplate("info.html");// info.html是模板名称 // ⑥将模板和数据模型合并 --> 输出模板,生成文件 // 静态页面路径
printwriter pw = new printwriter(htmlfile);
if (!htmlfile.getparentfile().exists()) { htmlfile.getparentfile().mkdirs(); //文章不存在则创建 }
template.process(map, pw);// 合并 map:数据模型 pw:输出流对象 map中存的是模板文件中需要的数据文章列表等,在模板文件中用${..}获取,可参考free marker文档 pw.close();// 关闭流
}


   

静态化文章页的方法

/**
* 静态化文章页
*
* @param articleid
* @throws ioexception
@requestmapping({"/tocrea****"})
*/
public string tocreate****(httpservletrequest request, long articleid) throws exception {
logger.info("静态化文章方法开始"); //查询要静态化的文章信息
article articledetail = articleservice.selectbykeywords(article);
article article = new article(); article.setarticleid(articleid);
string articletime = tools.getstrdatetime(articledetail.getcreationtime(), "yyyy-mm-dd");
//文章发布的时间,用于将静态化的文章网页放在对应时间的文件夹中 // 给文章添加访问路径(发布一篇文章后静态化该文章,静态化时将该文章的静态化后路径添加至数据库)
request.getcontextpath() "/site/info" articleid ".html";
string pageurl = request.getscheme() "://" request.getservername() ":" request.getserverport() articledetail.setpage; articleservice.uparticle(articledetail);
hashmap map = new hashmap<>();
// 创建数据模型(这里使用map类型) --[数据模型可以是list、map对象 注意:map类型的key必须是string类型]
map.put("contextpathno", request.getsession().getservletcontext().getcontextpath());// 项目名称,用于生成后html页面的静态资源调用css,img等
// 文章信息 ......//其他信息代码省略。。。 map.put("info", articledetail); ......
//静态化生成的html路径
//模板所在的路径 string templetpath = request.getsession().getservletcontext().getrealpath("/templet");
.getrealpath("/site/info/" articletime "/" articleid ".html");
string siteinfopath = request.getsession().getservletcontext() createhtml(templetpath, siteinfopath, map); return "success";
}


模板文件info.html(省略了很多代码,仅作为示例)

${info.articletitle}

发布时间:${info.creationtime?string('yyyy-mm-dd hh:mm') } 编辑:${info.articleauthor} 阅读:

    ${info.articledetail }
<#if (info.parent==333)> 程序人生 <#if uparticle??>

上一篇:${uparticle.articletitle}

    <#list newtimearticlelist as newlist> <#if (newlist.articletitle?length>16)>
  • ${newlist.articletitle?substring(0,16)}...
  • <#else>
  • ${newlist.articletitle}

这样就能根据模板来生成一个html静态网页了。

需要注意的是,有些动态展示的内容 是不能直接静态化的,比如 文章的点击数和 右侧的最热文章,最新文章,底部的上一篇下一篇等。。。

暂时没有的解决方式 我就用了ajax来加载的。。

返回观点列表
本文标签:

相关专题

  • 品牌利来手机网址官网设计

    杭州派迪科技为高端客户提供品牌利来手机网址官网咨询策划,品牌利来手机网址官网设计,品牌利来手机网址官网建设开发服务,以国际化视野和标准为基础,为各行业领军品牌提供高端企业网站定制、策划、设计、互动与制作

    查看详情
  • 大策略营销门户网站

    杭州派迪科技有自己的营销型网站cms系统,适合白帽seo网站。特别对大策略的营销型门户网站制作有一定的经验,曾经为上海天擎外贸行业网站、浙江兆龙营销型门户、先临三维门户营销网站提供全程的利来手机娱乐的技术支持及seo优化指导

    查看详情
  • 集团/上市公司网站

    杭州派迪科技为杭州本地集团公司提供网页设计、制作、开发服务,为集团公司网站建设提供了响应式、营销型、品牌型、门户型网站建设需求,欢迎广大集团公司客户咨询

    查看详情
  • 外贸网站建设

    杭州派迪科技为高端客户提供外贸网站咨询策划,外贸利来手机网址官网设计,外贸利来手机网址官网建设开发服务,以谷歌搜索引起算法为基础,为各行业外贸公司提供高端企业外贸网站定制、策划、设计、互动与制作

    查看详情
  • 企业网站建设

    高端专业、令人印象深刻的用户界面、易于访问——企业网站必须反映一切,因为派迪科技在这里提供帮助,凭借精湛的技术、丰富的经验、与客户的持续沟通以及对每一个细节的关注,我们确保在快速的周期时间内提供优质的服务。

    查看详情
  • 杭州派迪科技模板网站建设专题_各行业方案专题栏目提供各行业产品适合的网站建设方案,帮助企业了解派迪科技建站效果等信息,您可以通过本站了解各行业网站建设方案,如需要获取本行业定制网站建设方案,可以联系在线客服或拨打电话咨询

体验从沟通开始,让我们聆听您的需求!

开始您的数字化品牌体验! 0571-85815193 期待您的来电!

[ 网站建设×品牌利来手机网址官网设计×大策略营销门户×微信小程序开发×微信公众号开发]

派迪业务总监微信号

了解最新项目报价

派迪产品经理钉钉号

免费获取项目方案

我们正使用 cookie 来改善您的访问体验

派迪科技非常重视您的个人隐私,当您访问我们的网站www.hzpady.com时,请同意使用所有cookie 。

如果您想详细了解我们如何使用cookie请访问我们的 《隐私政策》

cookie 偏好

如果您想详细了解我们如何使用cookie请访问我们的 《隐私政策》

管理cookie偏好

基本 cookie

始终允许

这些 cookie 是网站运行所必需的,不能在我们的系统中关闭。它们通常仅针对您所做的相当于服务请求的操作而设置,例如设置您的隐私首选项、登录或填写表格。您可以将浏览器设置为阻止或提醒您有关这些 cookie 的信息,但网站的某些部分将无法运行。这些 cookie 不存储任何个人身份信息。

性能 cookie

始终允许
这些 cookie 使我们能够计算访问量和流量来源,以便我们可以衡量和改进我们网站的性能。它们帮助我们了解哪些页面最受欢迎和最不受欢迎,并了解访问者如何在网站上移动。这些 cookie 收集的所有信息都是汇总的,而且是匿名的。如果您不允许这些 cookie,我们将不知道您何时访问了我们的网站,也无法监控其性能。

功能性 cookie

这些 cookie 收集信息用于分析和个性化您的定向广告体验。您可以使用此拨动开关来行使选择不获取个人信息的权利。如果您选择关闭,我们将无法向您提供个性化广告,也不会将您的个人信息交给任何第三方。

定位 cookie

这些 cookie 可能由我们的广告利来国际登录的合作伙伴通过我们的网站设置。这些公司可能会使用它们来建立您的兴趣档案,并在其他网站上向您展示相关广告。它们不直接存储个人信息,而是基于唯一标识您的浏览器和互联网设备。如果您不允许使用这些 cookie,您将体验到较少针对性的广告。

我们正使用 cookie 来改善您的访问体验

派迪科技非常重视您的个人隐私,当您访问我们的网站www.hzpady.com时,请同意使用所有cookie 。

如果您想详细了解我们如何使用cookie请访问我们的 《隐私政策》