如何实现网页静态化

一.分析

    针对商城项目每个商品要对应生成一个html文件,保存在磁盘,访问文件就不一定使用tomcat,可以使用Nginx访问。可以使用Freemarker工具实现。

二.Freemarker的使用方法

    第一步:添加Freemarker的jar包到工程中。

    第二步:Freemarker的运行不依赖外部容器,可以在java工程中使用。创建一个测试方法进行测试。

    第三步:创建一个Configuration对象。

    第四步:告诉Config对象模板对象存放的路径。

    第五步:设置默认的字符集。一般为utf-8。

    第六步:从Config对象中获得一个模板对象。需要指定一个模板对象的名字。

    第七步:创建模板需要的数据集。可以是一个Map对象,也可以是一个Pojo,把模板需要的数据存入数据集。

    第八步:创建一个Writer对象,指定生成的文件保存的路径及文件名。

    第九步:调用模板对象的process方法,生成静态文件。需要两个参数,数据集和Writer对象。

    第十步:关闭Writer。

三.Freemarker模板的写法

1.取简单的数据类型

    使用EL表达式。${hello}

2.包装数据类型

    根据ftl模板,创建pojo对象。

3.遍历集合数组

    数据集中添加list列表。

4.获取当前迭代的索引

    List<Student> list = new ArrayList<Student>();

    <#list students as s>

        ${s_index}

    </#list>

5.模板中的判断条件

    <#if 判断条件>

    <#else>

    </#if>

    逻辑运算符:==    !=     &&     ||    

 6.格式化日期

    默认格式:

    a. ${cur_time?date}

    b.${cur_time?time}

    c.${cur_time?datetime}

    自定义格式:

    ${cur_time?string("yyyy/MM/dd HH:mm:ss")}

7.null处理

    a.变空字符串         ${val!}

    b.给默认值            ${val!"val的默认值"}

8.include

    将另外一个页面引入到本页面

    <#include "另外一个页面的地址">

四.项目中使用Freemarker

    使用Freemarker整合spring。将Configuration交给Spring容器管理。

    依赖的jar包:

       <dependency>

            <groupId>org.springframework</groupId>

            <artifactId>spring-context-support</artifactId> 

       </dependency>

        <dependency>

            <groupId>org.freemarker</groupId>

            <artifactId>freemarker</artifactId> 

        </dependency>

1.Spring的配置文件

    <bean id="freemarkerConfig"

        class="org.springframework.web.servlet.view.freemarker.FreeMarkerConfigurer">

            <property name="templateLoaderPath" value="/WEB-INF/ftl/" />        --模板存放路径

            <property name="defaultEncoding" value="UTF-8" />                           --编码格式

    </bean>

2.静态文件生成的时间

    a.用户第一次访问时生成静态文件。  缺点:高并发的时候容易生成一半出现问题,一般不推荐。

    b.添加或者编辑商品时生成静态网页。此时需要发布服务供后台系统调用,当后台添加或者修改商品时调用此服务。

3.发布生成页面的服务

    a.获得数据

    b.生成静态页面

    c.相应生成成功

4.Service

    生成静态页面

5.创建Freemarker模板

6.Controller

    调用Service生成静态页面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值