springboot+freemaker静态化页面

来源:互联网 发布:诺基亚500软件 编辑:程序博客网 时间:2024/06/05 02:22

动态页面技术和静态页面技术各有优势,静态页面技术适用于将一些不变的内容(如新闻、博客、日志等)静态化。如此每次访问的时候,就可以直接使用html页面,而不用每次都经过访问数据库、视图渲染等耗时的过程。
接下来,我们通过springboot+freemaker实现页面的静态化处理。

1、引入springboot对freemaker的依赖

        <!-- 使用freemaker -->        <dependency>            <groupId>org.springframework.boot</groupId>            <artifactId>spring-boot-starter-freemarker</artifactId>        </dependency>

2、在src/main/resources/路径下,创建文件夹freemaker/,在此文件夹下再创建template.ftl模板,此模板即静态化的模板;
这里写图片描述

3、在src/main/resources/路径下的application.properties,配置freemaker模板的目录

#freemaker路径spring.freemarker.template-loader-path=classpath:/freemaker/

4、注入Configuration对象(注意必须注入,否则spring无法获取freemaker的配置信息),开始静态化

    @Autowired    Configuration config;    /**     * 页面静态化     */    @Override    public void staticBlog(Map<String, Object> map,HttpServletRequest request) throws Exception {        //静态化                config.setTemplateExceptionHandler(TemplateExceptionHandler.RETHROW_HANDLER);        Template temple=config.getTemplate("template.ftl");//获取模板          Writer out = new OutputStreamWriter(new FileOutputStream(request.getServletContext().getRealPath("/")+"1.html"));//生成最终页面并写到文件          try {              temple.process(map, out);//处理          } catch (TemplateException e) {              e.printStackTrace();          }finally          {              out.close();          }      }

5、此时,就可以在工程的webapp目录下,看到静态化的1.html文件。
这里写图片描述
如此便大功告成。

随着业务量的增长,文件不推荐存放在tomcat目录下,而是应当存到文件服务器中。此时,只需要把静态化页面存放到文件服务器,然后回传路径就可以了。

原创粉丝点击