Filter实现浏览器是否缓存页面信息,和控制编码

  1. 后台配置文件  
  2. <?xml version="1.0" encoding="UTF-8"?>  
  3. <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  4.     xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"  
  5.     xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"  
  6.     id="WebApp_ID" version="3.0">  
  7.     <display-name>jqueryeasyui</display-name>  
  8.     <welcome-file-list>  
  9.         <welcome-file>index.html</welcome-file>  
  10.         <welcome-file>index.htm</welcome-file>  
  11.         <welcome-file>index.jsp</welcome-file>  
  12.         <welcome-file>default.html</welcome-file>  
  13.         <welcome-file>default.htm</welcome-file>  
  14.         <welcome-file>default.jsp</welcome-file>  
  15.     </welcome-file-list>  
  16.   
  17.   
  18.   
  19.     <!-- 设置浏览器缓存 -->  
  20.     <filter>  
  21.         <filter-name>ResponseHeaderFilter</filter-name>  
  22.         <filter-class>tk.Martin.filterDemo.filter.ResponseHeaderFilter</filter-class>  
  23.         <init-param>  
  24.             <param-name>Cache-Control</param-name>  
  25.             <param-value>max-age=1000</param-value>  
  26.         </init-param>  
  27.     </filter>  
  28.     <filter-mapping>  
  29.         <filter-name>ResponseHeaderFilter</filter-name>  
  30.         <url-pattern>*.css</url-pattern>  
  31.     </filter-mapping>   
  32.   
  33.   
  34.     <!-- 设置浏览器不缓存 -->  
  35.     <!--  <filter>  
  36.         <filter-name>ResponseHeaderFilter</filter-name>  
  37.         <filter-class>tk.Martin.filterDemo.filter.ResponseHeaderFilter</filter-class>  
  38.         <init-param>  
  39.             <param-name>Cache-Control</param-name>  
  40.             <param-value>private,no-cache,no-store,must-revalidate</param-value>  
  41.         </init-param>  
  42.     </filter>  
  43.     <filter-mapping>  
  44.         <filter-name>ResponseHeaderFilter</filter-name>  
  45.         <url-pattern>*.js</url-pattern>  
  46.     </filter-mapping>  
  47.     <filter-mapping>  
  48.         <filter-name>ResponseHeaderFilter</filter-name>  
  49.         <url-pattern>*.css</url-pattern>  
  50.     </filter-mapping>   
  51.     <filter-mapping>  
  52.         <filter-name>ResponseHeaderFilter</filter-name>  
  53.         <url-pattern>*.jpg</url-pattern>  
  54.     </filter-mapping>   
  55.  -->  
  56.   
  57.   
  58.     <servlet>  
  59.         <servlet-name>UserServlet</servlet-name>  
  60.         <servlet-class>tk.Martin.filterDemo.servlet.UserServlet</servlet-class>  
  61.     </servlet>  
  62.   
  63.     <servlet-mapping>  
  64.         <servlet-name>UserServlet</servlet-name>  
  65.         <url-pattern>/userOper.do</url-pattern>  
  66.     </servlet-mapping>  
  67.   
  68.   
  69.   
  70.   
  71.   
  72.   
  73. </web-app>  



  1. 这是控制是否浏览器缓存的代码  
  2.   
  3. package tk.Martin.filterDemo.filter;  
  4.   
  5. import java.io.IOException;  
  6. import java.util.Enumeration;  
  7.   
  8. import javax.servlet.Filter;  
  9. import javax.servlet.FilterChain;  
  10. import javax.servlet.FilterConfig;  
  11. import javax.servlet.ServletException;  
  12. import javax.servlet.ServletRequest;  
  13. import javax.servlet.ServletResponse;  
  14. import javax.servlet.http.HttpServletRequest;  
  15. import javax.servlet.http.HttpServletResponse;  
  16.   
  17. public class ResponseHeaderFilter implements Filter {  
  18.     FilterConfig filterConfig;  
  19.   
  20.     @Override  
  21.     public void destroy() {  
  22.         // TODO Auto-generated method stub  
  23.   
  24.     }  
  25.   
  26.     @Override  
  27.     public void doFilter(ServletRequest req, ServletResponse res,  
  28.             FilterChain chain) throws IOException, ServletException {  
  29.         // TODO Auto-generated method stub  
  30.           
  31.         HttpServletRequest request=(HttpServletRequest) req;  
  32.         HttpServletResponse response=(HttpServletResponse) res;  
  33.           
  34.         for(Enumeration e=filterConfig.getInitParameterNames();e.hasMoreElements();){  
  35.               
  36.             String headerName=(String) e.nextElement();  
  37.             System.out.println("========================="+headerName+"===================================");  
  38.             response.addHeader(headerName, filterConfig.getInitParameter(headerName));  
  39.               
  40.         }  
  41.         chain.doFilter(request, response);  
  42.           
  43.     }  
  44.   
  45.     @Override  
  46.     public void init(FilterConfig filterConfig) throws ServletException {  
  47.         // TODO Auto-generated method stub  
  48.         this.filterConfig=filterConfig;  
  49.     }  
  50.   
  51. }  



  1. 这是控制上传的编码的Filter过滤类  
  2.   
  3. package tk.Martin.filterDemo.filter;  
  4.   
  5. import java.io.IOException;  
  6.   
  7. import javax.servlet.Filter;  
  8. import javax.servlet.FilterChain;  
  9. import javax.servlet.FilterConfig;  
  10. import javax.servlet.ServletException;  
  11. import javax.servlet.ServletRequest;  
  12. import javax.servlet.ServletResponse;  
  13.   
  14. public class CharacterEncodingFilter implements Filter {  
  15.     private String characterEncoding;  
  16.   
  17.     @Override  
  18.     public void destroy() {  
  19.         // TODO Auto-generated method stub  
  20.   
  21.     }  
  22.   
  23.     @Override  
  24.     public void doFilter(ServletRequest request, ServletResponse response,  
  25.             FilterChain chain) throws IOException, ServletException {  
  26.         // TODO Auto-generated method stub  
  27.         request.setCharacterEncoding(characterEncoding);  
  28.         chain.doFilter(request, response);  
  29.   
  30.     }  
  31.   
  32.     @Override  
  33.     public void init(FilterConfig filterConfig) throws ServletException {  
  34.         // TODO Auto-generated method stub  
  35.         this.characterEncoding = filterConfig.getInitParameter("encoding");  
  36.         System.out.println("页面编码方式===============" + this.characterEncoding  
  37.                 + "=================================");  
  38.     }  
  39.   
  40. }  

  1. 这是前台的jsp的代码  
  2. <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>  
  3.   
  4. <%@include file="/common/tag.jsp"%>  
  5. <%@include file="/common/jquery.jsp"%>  
  6.   
  7.   
  8. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  9. <html>  
  10. <head>  
  11.   
  12. <title>My JSP 'index.jsp' starting page</title>  
  13. <meta http-equiv="pragma" content="no-cache">  
  14. <meta http-equiv="cache-control" content="no-cache">  
  15. <meta http-equiv="expires" content="0">  
  16. <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">  
  17. <meta http-equiv="description" content="This is my page">  
  18. <!-- 
  19.     <link rel="stylesheet" type="text/css" href="styles.css"> 
  20.     -->  
  21. </head>  
  22.   
  23. <body>  
  24.     <form action="${pageContext.request.contextPath}/userOper.do"  
  25.         method="post">  
  26.   
  27.         <table>  
  28.             <tr>  
  29.                 <td>用户名:</td>  
  30.                 <td><input name="name" type="text"></td>  
  31.             </tr>  
  32.             <tr>  
  33.                 <td colspan="2"><input type="submit" value="提交"></td>  
  34.             </tr>  
  35.         </table>  
  36.   
  37.     </form>  
  38.     <img alt="" src="${pageContext.request.contextPath}/1.jpg">  
  39. </body>  
  40. </html> 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值