springMVC--页面缓存

页面缓存

简单理解缓存原理

springMVC--页面缓存_第1张图片

互联网架构

springMVC--页面缓存_第2张图片

页面缓存

使用Oscache实现页面缓存。


测试页面缓存

创建web工程,导入jar

springMVC--页面缓存_第3张图片

测试

创建一个index.jsp页面,使用时间来测试:

springMVC--页面缓存_第4张图片

访问地址

http://localhost:8080/Oscache19/index.jsp

http://localhost:8080/Oscache19/

分析:上面2个地址都访问同一个页面,为什么缓存会变化?

缓存原理:

缓存数据结构:map,key存储浏览器访问url,上面2个url不一致,缓存肯定变化。

Value:缓存页面数据


存储范围

缓存默认存储在application域当中。


改变缓存Session

springMVC--页面缓存_第5张图片

固定缓存key

springMVC--页面缓存_第6张图片

每隔4秒同步一次

springMVC--页面缓存_第7张图片

缓存持久化

创建oscache.properties

这个配置文件必须在classpath下面:


cache.memory=false
cache.persistence.class=com.opensymphony.oscache.plugins.diskpersistence.DiskPersistenceListener
cache.path=F:\\cache

持久化文件

springMVC--页面缓存_第8张图片


Oscache整合ssm项目

约定:商品页面访问量特别大,给商品页面缓存。

           Items路径下所有请求都缓存。

  
  oscache
  com.opensymphony.oscache.web.filter.CacheFilter
  
  time
  3600
  
  
  scope
  application
  
  
 
  
  oscache
  /items/*
  

Springmvc的freemarker支持

分析:需要jar

Freemarkerjarcontext-support.jar


配置freemarker视图支持


	
	
	
		
	
	
	
	
	
	

编写freemarker页面

ftl.ftl:




Insert title here


${hello}


代码:
package cn.itcast.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

@Controller
@RequestMapping("/ftl")
public class FtlController {

	@RequestMapping("hello")
	public String hello(Model model){
		
		model.addAttribute("hello", "页面静态化,凤姐!");
		
		return "ftl";
		
		}
}


修改itemsList页面

<#assign picPath="http://127.0.0.1:8003/ssmImage19" />
<#assign projectName="springmvc19_day02_02" />




查询商品列表

 
查询条件:
商品列表: <#list itemsList as item>
ID 商品名称 商品图片 商品价格 生产日期 商品描述 操作
${item.name } ${item.price } ${item.detail } 修改 删除

springMVC--页面缓存_第9张图片

springMVC--页面缓存_第10张图片



你可能感兴趣的:(JavaEE,springmvc)