e3mall_day10

1网页静态化方案

 

   》网页最好预先生成好

 2.改造jsp成freemarker

3.MessageListener实现

  》在item-web实现对商品添加的监听器,用于同步或生成静态页面

  》写入核心依赖,springmvc配置activemq相关的对象

  》书写代码:

复制代码
public class ItemAddMessageListener implements MessageListener{

    @Autowired
    private ItemService itemService;
    
    @Autowired
    private FreeMarkerConfigurer configurer;
    
    public void onMessage(Message message) {
        
        //1.创建模板文件(手动创建)
        
        try {
            //2.获取商品id
            TextMessage textMessage = (TextMessage) message;
            String str_id = textMessage.getText();
            Long itemId = new Long(str_id);
            
            //3.查询商品
            TbItem tbItem = itemService.getItemById(itemId);
            Item item = new Item(tbItem);
            
            //4.查询商品描述
            TbItemDesc itemDesc = itemService.getItemDescById(itemId);
            
            //5.创建map,添加数据集到map
            HashMap<String, Object> map = new HashMap<String,Object>();
            
            map.put("item", item);
            map.put("itemDesc", itemDesc);
            
            //6.创建流
            FileWriter writer = new FileWriter( new File("D:/tmp/"+itemId+".html") );
            
            //7.加载指定的模板文件,生成模板对象
            Configuration configuration = configurer.getConfiguration();
            Template template = configuration.getTemplate("index.ftl");
            
            //8.生成文件
            template.process(map, writer);
            
            //9.关闭流
            writer.close();
            
        } catch (Exception e) {
            e.printStackTrace();
        }
        
    }

}
复制代码

4.nginx访问静态页面

posted @   爱编程DE文兄  阅读(112)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示