Filter 字符编码Filter 一
使用字符编码Filter
package com.helloweenvsfei.filter;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;public class CharacterEncodingFilter implements Filter {private String characterEncoding;private boolean enabled;@Overridepublic void init(FilterConfig config) throws ServletException {characterEncoding = config.getInitParameter("characterEncoding");enabled = "true".equalsIgnoreCase(characterEncoding.trim())|| "1".equalsIgnoreCase(characterEncoding.trim());}@Overridepublic void doFilter(ServletRequest request, ServletResponse response,FilterChain chain) throws IOException, ServletException {if (enabled || characterEncoding != null) {request.setCharacterEncoding(characterEncoding);response.setCharacterEncoding(characterEncoding);}chain.doFilter(request, response);}@Overridepublic void destroy() {characterEncoding = null;} }
web.xml 配置如下
<filter><filter-name>characterEncodingFilter</filter-name><filter-class>com.helloweenvsfei.filter.CharacterEncodingFilter</filter-class><init-param><!-- 编码方式 --><param-name>characterEncoding</param-name><param-value>UTF-8</param-value></init-param><init-param><!-- 是否使用编码 --><param-name>enable</param-name><param-value>true</param-value></init-param> </filter><filter-mapping><filter-name>characterEncodingFilter</filter-name><url-pattern>/*</url-pattern> </filter-mapping>
注意:页面编码方式必须一致。另外如果使用GET表单提交。需要修改Tomcat /conf/server.xml 里的URIEncoding 修改代码如下
<Connector port="8080" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443" URIEncoding = "UTF-8"/>
基本所有的javaWeb程序都用该Filter。
附:characteEncoding.jsp验证编码器
1 <%@ page language="java" contentType="text/html; charset=UTF-8"%> 2 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> 3 <html> 4 <head> 5 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 6 <title>Insert title here</title> 7 <style> 8 body, input, textarea { 9 font-size: 12px; 10 } 11 textarea { 12 width: 400px; 13 height: 50px; 14 } 15 </style> 16 </head> 17 <body> 18 <pre> 19 <b>您输入了</b>: 20 ${ param.text } 21 </pre> 22 <form action="${ param.request.requestURL }" method="post"><textarea 23 name="text">${ param.text }</textarea> <br /> 24 <input type="submit"></form> 25 26 </body> 27 </html>
转载于:https://www.cnblogs.com/zhaideyou/p/5914859.html
Filter 字符编码Filter 一相关推荐
- 过滤器实例——字符编码Filter
字符编码过滤器是一种快速解决Tomcat服务器中request和response乱码问题的解决方案.一般程序中要解决request.resopnse传中文参数乱码问题时一般通过在取参数前对reques ...
- java_servlet字符过滤器filter
字符过滤filter package com.oralce.action; import java.io.IOException; import javax.servlet.Filter; impor ...
- [转载]Java web应用中的常见字符编码问题的解决方法
以下是 Java web应用的常见编码问题 1. html页面的编码 在web应用中,通常浏览器会根据http header: Content-type的值来决定用什么encoding, 比如遇到Co ...
- java中文字符怎么保证出现正确_JAVA中文字符编码问题详解
JAVA中文字符编码问题详解 JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用中.网上的分析文章和解决方案都很多,但总是针对某些特定情况的.很多次遇到乱码问题后,经过极为辛苦的调试和搜索资 ...
- 【JAVA编码专题】 JAVA字符编码系列三:Java应用中的编码问题
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- js笔记(三)ES5、ES5新增的数组的方法、字符串的方法、字符编码、对象的序列化和反序列化、bind
数组方法.字符串方法总结 大目录 小目录 一.ES5严格模式 1. 严格模式: 2. 严格模式的行为变更: 二.ES5新增的数组的方法 1. 判断是否为数组:Array.isArray(): 2. 判 ...
- java 字符过滤器_Java Web---登录验证和字符编码过滤器
什么是过滤器? 在Java Web中,过滤器即Filter.Servlet API中提供了一个Filter接口(javax.servlet.Filter).开发web应用时,假设编写的Java类实现了 ...
- unix系统编码 java_JAVA字符编码系列三:Java应用中的编码问题
这两天抽时间又总结/整理了一下各种编码的实际编码方式,和在Java应用中的使用情况,在这里记录下来以便日后参考. 为了构成一个完整的对文字编码的认识和深入把握,以便处理在Java开发过程中遇到的各种问 ...
- 天池-街景字符编码识别2-数据读取与数据扩增
本此使用[定长字符识别]思路来构建模型 赛题地址 零基础入门CV赛事- 街景字符编码识别 关于更详细的数据预处理可=可以参考我的另一篇博文: 卷积神经网络性能优化(提高准确率) 2 数据读取与数据扩增 ...
最新文章
- 职场中不可深交的五种人
- JavaScript 中对象的属性类型
- web服务之Tomcat
- 深入浅出Mybatis系列(八)---mapper映射文件配置之select、resultMap[转]
- 【渝粤教育】广东开放大学 综合英语1 形成性考核 (36)
- 使用RichTextBox控件实现系统剪切板功能
- mac下配置eclipse的maven环境
- 【华为大咖分享】7.大型云平台的DevOps实践(后附PPT下载地址)
- FIFO队列 ADT接口 链表实现
- 网站扫描服务器全部开放端口,服务器开放端口扫描
- 系统架构设计笔记(19)—— 网络存储技术
- 软件项目管理考试指南—By XJTUSE【YJQ】
- 谈提高健身效果的营养品系列之一: 乳清蛋白, 肌酸, 支链氨基酸
- 批量启用AD中账户的Exchange邮箱
- RFC 文档(1001-1500)
- oracle fnd file.log,oracle D_FILE.PUTamp;FND_FILE.PUT_LINE
- 【51Nod1679】连通率
- 自动驾驶--定位技术
- Activiti 学习笔记七:连线(SequenceFlow)
- NE555方波发生器
热门文章
- 关于“WireX Botnet”事件Android样本分析报告
- 服务器和操作系统怎么看,服务器和操作系统怎么看
- JZOJ 4726. 【NOIP2016提高A组模拟8.22】种花
- android拍照识别人脸,Android 人脸识别拍照demo
- flex 文字竖排_flex button字竖排展示
- java 初始化一个实体对象_Java 对象初始化
- android表情输入键盘,GitHub - UKfire/Emotion: 帮你的Android应用快速集成表情键盘
- c malloc 头文件_C语言提高篇_malloc,realloc和calloc的区别
- python 字符串 f_Python字符串格式化f-string多种功能实现
- 利用Matlab求解线性规划问题