Servlet响应设置缓存

本文介绍了如何利用Servlet设置响应缓存,以提高效率。通过指定缓存时间,避免浏览器频繁请求服务器。在示例中,一旦数据被缓存,一小时内再次请求将不再调用服务器。

缓存:对于不经常变化的数据,我们可以设置合理缓存时间,以避免浏览器频繁请求服务器。来提高我们的效率!

我们需要通过一个方法来实现这个缓存效果

返回值方法名说明
voidsetDateHeader(String name,long time)设置消息头添加缓存

我们通过这个方法可以添加缓存的时间(注意时间是以毫秒为单位的)

接下来用一个简单的小案例来看一下效果

package com.itheima.servlet.response_demo;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
 * @author 贾子霖
 * @version RookieExaming
 * @date 2021/11/5 19:54
 */
/*
* 设置缓存*/
    @WebServlet("/servletDemo01")//注解来配置Servlet
public class ServletDemo01 extends HttpServlet {
    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        //新闻内容
        String news="这是一条很火爆的新闻";//很多人访问
        //设置缓存,一个小时的缓存时间 时间是毫秒值,所以一个小时是1*60*60*1000
        resp.setDateHeader("Expires",System.currentTimeMillis()+1*60*60*1000);//缓存头;过期时间;long类型的毫秒值

        //设置编码格式
        resp.setContentType("text/html;charset=utf-8");

        //写出数据
        resp.getWriter().write(news);

        System.out.println("验证缓存效果;第一次调用服务器");
    }

    @Override
    protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {

    }
}

验证效果的时候,只有第一次输出news的时候才会请求服务器端,在一个小时内再次请求的时候,是不会调用服务器的。

控制台中的“验证缓存效果;第一次调用服务器”只会打印一次

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值