过滤器里设置编码,防止提交的数据不能写入数据库
2015-12-14 15:47
337 查看
web.xml
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.lyq.util.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
过滤器CharacterEncodingFilter.java
public class CharacterEncodingFilter implements Filter {
protected String encoding =null;
protected FilterConfig filterConfig=null;
@Override
public void destroy() {
this.filterConfig=null;
this.encoding=null;
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (encoding!=null) {
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset="+encoding);
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig=filterConfig;
this.encoding=filterConfig.getInitParameter("encoding");
}
}
<filter>
<filter-name>CharacterEncodingFilter</filter-name>
<filter-class>com.lyq.util.CharacterEncodingFilter</filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>GBK</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>CharacterEncodingFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>
过滤器CharacterEncodingFilter.java
public class CharacterEncodingFilter implements Filter {
protected String encoding =null;
protected FilterConfig filterConfig=null;
@Override
public void destroy() {
this.filterConfig=null;
this.encoding=null;
}
@Override
public void doFilter(ServletRequest request, ServletResponse response,
FilterChain chain) throws IOException, ServletException {
if (encoding!=null) {
request.setCharacterEncoding(encoding);
response.setContentType("text/html;charset="+encoding);
}
chain.doFilter(request, response);
}
@Override
public void init(FilterConfig filterConfig) throws ServletException {
this.filterConfig=filterConfig;
this.encoding=filterConfig.getInitParameter("encoding");
}
}
相关文章推荐
- Oracle使用记录
- SQL中ISNULL用法示例
- Mysql下的数据库备份
- spark 的sql解决方案
- oracle新增(ibatis)
- SQL语句case when外用sum与count的区别
- mysql--windows忘记密码
- CentOS7.1安装Oracle 12.1客户端以及cx_Oracle
- 问题:oracle 两个表之间的修改;结果:ORACLE 两个表之间更新的实现
- SQL Server2012中如何通过bak文件还原SQL Server2012数据库
- oracle 对对表匹配的进行修改匹配不上的可以进行新增 (MERGE INTO)
- Redis
- [How to]集成SQLite3
- sql语句执行插入后返回ID
- 找到一篇比较全面的解决mysql最大连接数Too many connections问题的帖子
- keepalived+Mysql主从配置实验
- PostgreSQL Type的创建与Type在函数中的使用
- 关于Oracle有两个或者多个实例时,用SID来区分目前oralce使用的是哪个实例。
- oracle查看对象信息
- MySQL Study之--mysqladmin工具应用