Filter-过虑器应用之2-设置页面缓存
来源:互联网 发布:淘宝达人平台入口 编辑:程序博客网 时间:2024/06/07 11:25
设置某些页面缓存或是不缓存
要想让所有浏览器不缓存页面:
<% response.setHeader("expires","-1"); response.setHeader("pragma","no-cache"); response.setHeader("cache-control","no-cache"); %>
分析:通过一个过虑器,对所有*.jsp过虑,设置三个头,全部不缓存。
第一步:实现过虑器接口
public void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {//转换HttpServletResponse resp = (HttpServletResponse) response;resp.setHeader("expires","-1"); resp.setHeader("pragma","no-cache"); resp.setHeader("cache-control","no-cache");//都放行chain.doFilter(request, response);}
第二步:配置过虑器,url-pattern=*.jsp
<!-- 配置控制缓存的filter --><filter><filter-name>cache</filter-name><filter-class>cn.itcast.filter.CacheFilter</filter-class></filter><filter-mapping><filter-name>cache</filter-name><url-pattern>*.jsp</url-pattern></filter-mapping>
第三步:设置对某些页面缓存N天
HttpServletResponse resp = (HttpServletResponse) response;//计算2天以后的毫秒值//日历Calendar cl = Calendar.getInstance();//日历上加2天cl.add(Calendar.DATE, 2);long time = cl.getTimeInMillis();resp.setDateHeader("expires", time);//resp.setHeader("expires",""+time);// resp.setHeader("pragma","no-cache");// resp.setHeader("cache-control","no-cache");//都放行chain.doFilter(request,resp);
生成验证码的:
public void doGet(HttpServletRequest req, HttpServletResponse resp)throws ServletException, IOException {//设置响应类型resp.setContentType("image/jpeg");int width=60;int height=30;BufferedImage img = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB);Graphics g = img.getGraphics();g.setColor(Color.WHITE);g.fillRect(0,0, width, height);g.setFont(new Font("宋体", Font.BOLD,18));Random r = new Random();for(int i=0;i<4;i++){Color c = new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256));int code = r.nextInt(10);g.setColor(c);g.drawString(""+code,i*15,10+r.nextInt(20));}for(int i=0;i<10;i++){Color c = new Color(r.nextInt(256),r.nextInt(256),r.nextInt(256));g.setColor(c);g.drawLine(r.nextInt(60),r.nextInt(30),r.nextInt(60),r.nextInt(30));}//图片生效g.dispose();//写到ImageIO.write(img, "JPEG",resp.getOutputStream());}
0 0
- Filter-过虑器应用之2-设置页面缓存
- Filter-过虑器应用之1-设置request编码
- Filter-过虑器应用之3-验证用户是否登录
- Filter-过虑器应用之4-用户自动登录
- Filter-过虑器应用之-数据的压缩
- 过虑器应用之1-设置request编码
- 过滤器(Filter)应用之------设置页面缓存、用户的自动登录和敏感词过滤
- Servlet Filter(过虑器)
- Filter过虑器链
- 四个有用的过虑器 Filter
- 3Filter应用2禁止浏览器缓存所有动态页面的过滤器
- Filter应用之页面静态化
- Filter设置缓存
- JAVAEE之--------过滤器设置是否缓存(Filter)
- Filter应用之全站禁用浏览器缓存
- JavaWeb-过滤器Filter学习(二)设置全站编码与设置页面缓存
- 4Filter应用3控制浏览器缓存页面中的静态资源的过滤器
- 设置页面不缓存
- 组合数学合集
- 送她的光立方
- A Pocketful of Pigs
- 4g slim开机后看到主机后面的spdif接口里面亮了个红灯,这是正常现象吗?yvj
- MFC获取系统当前时间三种方式
- Filter-过虑器应用之2-设置页面缓存
- ireport报表一
- Java、MySql中时间类型与字符串类型的相互转换
- linux内核sk_buff的结构分析
- 如何去掉eclipse悬浮框
- 学习Windows Azure的好资源
- SSH2整合开发
- java 获取某一月的所有周的日期段(周一到周日)
- SVN图标无法显示 解决办法 Windows 7 中无法显示