繁体   English   中英

JSP缓存问题

[英]Jsp cache problem

我使用javascript和CSS构建具有以下标记的多级下拉菜单:

<ul>
   <li>menu item 1</li>
       <ul>
         <li><a href="#">sub menu menu item 1</a></li>
         ................. 

此标记由自定义JSP标记<mui:menu .../>生成,该标记从数据库加载菜单数据。

我希望我的jsp页面可以像这样:

  • 如果自从我上次访问该页面以来菜单数据没有更改,请使用浏览器的缓存
  • 否则从数据库加载...

我该怎么做? 我对缓存机制不了解太多。

拥有客户端缓存意味着,如果缓存中存储的内容仍然是新鲜的(尚未过期),浏览器将不会访问服务器以获取内容。 如果要使用菜单的浏览器缓存,则必须开始学习它

但是恕我直言,我认为您没有采用正确的方法。 您的菜单由JSP定制标记生成。 JSP在服务器上运行 ,因此,每次您请求包含<mui:menu .../>标记的资源时,该标记都会从数据库中提取数据。

我想您可能在单独的资源中拥有此标记,可以从客户端使用不变的GET查询(以便浏览器可以缓存结果),并且我想您可以使用HTTP 304 Not Modified响应以表示缓存的值仍然有效,但事实是, 在您的特定情况下,最好在服务器端而不是在客户端处理缓存

让JSP标记处理缓存,并且仅在发生更改时才进入数据库。

只是我的两分钱!

查看OSCache-它具有JSP标记,可以帮助您缓存生成的菜单,并且可以轻松地控制其内容块。

可以在http://www.opensymphony.com/oscache/找到OSCache

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM