通过过滤器实现控制动态资源不要缓存
2016-09-16 10:46
399 查看
1。NoCacheFilter.java文件:
2。ServletDemo3.java文件:
3。web.xml文件:
4。运行:http://localhost:8080/Filter_project/servlet/ServletDemo3
5。结果:
没有缓存
同时输出一下内容:中文你随便输
package com.itheima.example; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; //控制动态资源不要缓存过滤器 public class NoCacheFilter implements Filter { public void init(FilterConfig filterConfig) throws ServletException { } public void doFilter(ServletRequest req, ServletResponse resp, FilterChain chain) throws IOException, ServletException { // HttpServletRequest request = (HttpServletRequest)req; // HttpServletResponse response = (HttpServletResponse)resp; HttpServletRequest request = null; HttpServletResponse response = null; try{ request = (HttpServletRequest)req; response = (HttpServletResponse)resp; }catch(Exception e){ throw new RuntimeException("not-http request or response"); } response.setHeader("Expires", "-1"); response.setHeader("Cache-Control", "no-cache"); response.setHeader("Pragma", "no-cache"); chain.doFilter(request, response); } public void destroy() { } }
2。ServletDemo3.java文件:
import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class ServletDemo3 extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.getWriter().write("中文你随便输"); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
3。web.xml文件:
<?xml version="1.0" encoding="UTF-8"?> <web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"> <servlet> <servlet-name>ServletDemo3</servlet-name> <servlet-class>ServletDemo3</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletDemo3</servlet-name> <url-pattern>/servlet/ServletDemo3</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> <filter> <filter-name>NoCacheFilter</filter-name> <filter-class>com.itheima.example.NoCacheFilter</filter-class> </filter> <filter-mapping><!-- 按照此标签的出现顺序 --> <filter-name>NoCacheFilter</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping> </web-app>
4。运行:http://localhost:8080/Filter_project/servlet/ServletDemo3
5。结果:
没有缓存
同时输出一下内容:中文你随便输
相关文章推荐
- 控制动态资源(Servlet JSP)不要缓存的过滤器
- 控制动态资源(servlet jsp)不要缓存的过滤器
- 通过过滤器控制静态资源的缓存时间
- 通过init.rc中的property实现动态控制service的开启与关闭
- 重新想象 Windows 8.1 Store Apps (90) - 通信的新特性: 通过 HttpBaseProtocolFilter 实现 http 请求的缓存控制,以及 cookie 读写; 自定义 HttpFilter; 其他
- 通过缓存中的复制延迟标记实现对PHP/MySQL的读/写的分离式控制
- 【spring】ApplicationListener传递参数到页面(解决静态+动态资源路径+静态文件的缓存控制)
- 通过动态获取资源ID,执行接口回调-----来实现日夜模式切换
- asp.net通过实现IHttpHandler接口方法给图片添加水印图片(动态添加,不破坏原图片,但是耗资源)
- 控制静态资源(html,css,js)的缓存时间的过滤器
- 控制html、css、js等静态资源的缓存时间的过滤器
- 【原创】分布式之缓存击穿 【原创】自己动手实现静态资源服务器 【原创】自己动手实现JDK动态代理
- 通过缓存中的复制延迟标记实现对PHP/MySQL的读/写的分离式控制
- java网络编程--解析通过web.xml文件控制利用过滤器实现编码格式步骤
- 通过init.rc中的property实现动态控制service的开启与关闭
- 【spring】ApplicationListener传递参数到页面(解决静态+动态资源路径+静态文件的缓存控制)
- 重新想象 Windows 8.1 Store Apps (90) - 通信的新特性: 通过 HttpBaseProtocolFilter 实现 http 请求的缓存控制,以及 cookie 读写; 自定义 HttpFilter; 其他
- 通过使用反射+动态代理+注解来实现对事务的控制
- 4Filter应用3控制浏览器缓存页面中的静态资源的过滤器
- 解析通过web.xml文件控制利用过滤器实现编码格式步骤