缓存:对于不经常变化的数据,我们可以设置合理缓存时间,以避免浏览器频繁请求服务器。来提高我们的效率!
我们需要通过一个方法来实现这个缓存效果
| 返回值 | 方法名 | 说明 |
| void | setDateHeader(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的时候才会请求服务器端,在一个小时内再次请求的时候,是不会调用服务器的。
控制台中的“验证缓存效果;第一次调用服务器”只会打印一次
本文介绍了如何利用Servlet设置响应缓存,以提高效率。通过指定缓存时间,避免浏览器频繁请求服务器。在示例中,一旦数据被缓存,一小时内再次请求将不再调用服务器。

194

被折叠的 条评论
为什么被折叠?



