`
awed
  • 浏览: 34018 次
  • 性别: Icon_minigender_1
  • 来自: 珠海
社区版块
存档分类
最新评论

使用Filter设置字符编码及禁止页面缓存

    博客分类:
  • j2ee
阅读更多
java 代码
  1. import java.io.IOException;   
  2.   
  3. import javax.servlet.Filter;   
  4. import javax.servlet.FilterChain;   
  5. import javax.servlet.FilterConfig;   
  6. import javax.servlet.ServletException;   
  7. import javax.servlet.ServletRequest;   
  8. import javax.servlet.ServletResponse;   
  9. import javax.servlet.http.HttpServletResponse;   
  10.   
  11.   
  12. public class EncodingAndCacheflush implements Filter{   
  13.     private FilterConfig config ;   
  14.     public void destroy() {           
  15.     }   
  16.   
  17.     public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {   
  18.         String encoding = config.getInitParameter("encoding");//从配置文件从读取编码格式   
  19.         request.setCharacterEncoding(encoding);//设置编码   
  20.         ((HttpServletResponse)response).setHeader("Pragma","No-cache");    
  21.         ((HttpServletResponse)response).setHeader("Cache-Control","no-cache");    
  22.         ((HttpServletResponse)response).setHeader("Expires","0");//禁止缓存    
  23.         chain.doFilter(request, response);   
  24.     }   
  25.   
  26.     public void init(FilterConfig config) throws ServletException {     
  27.         this.config = config;   
  28.     }   
  29.   
  30. }   
在web.xml中加入Filter的配置,如下:
xml 代码
  1. <filter>  
  2.         <filter-name>EncodingAndCacheflush</filter-name>  
  3.         <filter-class>EncodingAndCacheflush</filter-class>  
  4.         <init-param>  
  5.             <param-name>encoding</param-name>  
  6.             <param-value>UTF-8</param-value>  
  7.         </init-param>  
  8.     </filter>  
  9.     <filter-mapping>  
  10.         <filter-name>EncodingAndCacheflush</filter-name>  
  11.         <url-pattern>/*</url-pattern>  
  12.     </filter-mapping>  

 

还有几点需要注意的是:

要传递参数的时候最好使用form进行传参,如果使用链接的话当中文字符的时候过滤器转码是不会起作用的,还有就是页面上

form的method也要设置为post,不然过滤器也起不了作用。

然后在页面中设置编码为UTF-8这样就不必第次都进行转码了。
分享到:
评论

相关推荐

    检验用户名、密码、字符编码、页面缓存----Filter的基本使用

    NULL 博文链接:https://931360439-qq-com.iteye.com/blog/962381

    六个有用的java过滤器

    六个有用的java过滤器,包括使浏览器不缓存页面的过滤器、检测用户是否登陆的过滤器、字符编码的过滤器、资源保护过滤器、利用Filter限制用户浏览权限、利用Filter过滤非法关键字。

    5个Servlet过滤器实例源码(JSP)

    Servlet过滤器大全,各种详细使用的代码! 一、字符编码的过滤器 二、使浏览器不缓存页面的过滤器 三、检测用户是否登陆的过滤器 四、资源保护过滤器 五 利用Filter限制用户浏览权限

    comm-fileupload教程

    // 字符编码,当读取上传表单的各部分时会用到该encoding protected UploadFileFilter filter = null; // 文件过滤器, 默认为NULL 不过滤 /** * 设置内存中缓存大小。 */ protected int sizeThreshold = ...

    最新Python3.5零基础+高级+完整项目(28周全)培训视频学习资料

    字符编码与二进制 字符编码的区别与介绍 用户交互程序 if else流程判断 while 循环 while 循环优化版本 for 循环及作业要求 第2周 本节鸡汤 模块初识 pyc是什么 python数据类型 bytes数据类型 列表的使用 元组与...

    asp.net知识库

    在ASP.NET页面中推荐使用覆写(Override)而不是事件处理(Event Handler) 常用编码工具类,支持base64,md5,des,crc32 也谈谈技术面试 在C#里把ArrayList转换为Array 或 把Array转换为ArrayList C# 2.0 在.NET 2.0中...

    Smarty中文手册 chm版

    Extended Setup [扩展设置] II. Smarty For Template Designers [模板设计者篇] 3. Basic Syntax [基本语法] Comments [注释] Functions [函数] Attributes [属性] Embedding Vars in Double Quotes [双引号里...

    smarty手册.chm

    Extended Setup [扩展设置] II. Smarty For Template Designers [模板设计者篇] 3. Basic Syntax [基本语法] Comments [注释] Functions [函数] Attributes [属性] Embedding Vars in Double Quotes [双引号里...

    台式技术测试

    (这里互动很少,因此机会并不多) 全面设置Webpack管道,并对资产和缓存清除进行优化SEO注意事项服务器端预渲染(如果营销页面是SPA的一部分) 过渡和加载动画安全使用的图书馆我使用了几个简单的库来加快按照规范...

    ZendFramework中文文档

    1. Introduction to Zend Framework 1.1. 概述 1.2. 安装 2. Zend_Acl 2.1. 简介 2.1.1. 关于资源(Resource) 2.1.2. 关于角色(Role) 2.1.3. 创建访问控制列表(ACL) ...14.5.5. Adding Filter ...

    ssh(structs,spring,hibernate)框架中的上传下载

    WEB-INF下的applicationContext.xml为Spring的配置文件,struts-config.xml为Struts的配置文件,file-upload.jsp为文件上传页面,file-list.jsp为文件列表页面。  本文后面的章节将从数据持久层->业务层->Web层的...

    js使用小技巧

    Javascript小技巧一箩筐 ...语言设置 onclick="window.external.ShowBrowserUI("LanguageDialog", null)"&gt; 加入收藏夹 onclick="window.external.AddFavorite("http://www.google.com/", "google...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    python入门到高级全栈工程师培训 第3期 附课件代码

    03 字符编码 第3章 01 网络基础和dos命令 02 为何学习linux 03 课程内容介绍 04 操作系统内核与系统调用 05 操作系统安装原理 06 linux操作系统安装 07 初识linux命令 08 linux操作系统目录结构 09 目录及文件操作...

    webx3框架指南PDF教程附学习Demo

    这个优势主要是针对阿里巴巴及属下网站而言。因为Webx在阿里巴巴和淘宝用了很多年。对于这种超大访问量的电子商务网站,Webx经受了考验,被证明是成熟可靠的。 开放和扩展性 • 对Spring的直接支持 —— Spring是...

Global site tag (gtag.js) - Google Analytics