前言
前端常见的缓存方式有很多,cookie,session,storage等等,但是多少有些限制,换一种思路,我们可以通过各种js对象实现缓存的目的,就像java中用static map做缓存一样。
spring boot配置
import javax.servlet.*;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
@WebServlet(urlPatterns="/Getscript")
public class GetscriptServlet extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
doPost(req, resp);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.setContentType("text/javascript");
PrintWriter out = resp.getWriter();
out.println("var a='IndexController Getscript'");
}
}
通过servlet实现返回动态内容的js文件,关键的部分是指定ContentType
前端调用
<body>
<script src="/Getscript"></script>
<script>
console.log(a);
</script>
</body>
控制台输出
IndexController Getscript
也可以直接通过http://localhost/Getscript查看返回js文件内容
var a='IndexController Getscript'