博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
tomcat设置编码utf8
阅读量:4614 次
发布时间:2019-06-09

本文共 2475 字,大约阅读时间需要 8 分钟。

1.       类: CharacterEncodingFilter

 import javax.servlet.*;

import java.io.IOException;

 

 public class CharacterEncodingFilter implements Filter {

 

    private String encoding = "UTF-8";

    private boolean forceEncoding = true;

 

    /**

     * Set the encoding to use for requests. This encoding will be

     * passed into a ServletRequest.setCharacterEncoding call.

     * <p>Whether this encoding will override existing request

     * encodings depends on the "forceEncoding" flag.

     */

    public void setEncoding(String encoding) {

        this.encoding = encoding;

    }

 

    /**

     * Set whether the encoding of this filter should override existing

     * request encodings. Default is "false", i.e. do not modify encoding

     * if ServletRequest.getCharacterEncoding returns a non-null value.

     */

    public void setForceEncoding(boolean forceEncoding) {

        this.forceEncoding = forceEncoding;

    }

 

    public void init(FilterConfig filterConfig) throws ServletException {

        this.encoding = filterConfig.getInitParameter("encoding");

        String force = filterConfig.getInitParameter("forceEncoding");

        this.forceEncoding = (force == null) || Boolean.valueOf(force).booleanValue() ;

    }

 

    public void doFilter(ServletRequest servletRequest,

                         ServletResponse servletResponse,

                         FilterChain filterChain) throws IOException, ServletException {

        if (this.forceEncoding || servletRequest.getCharacterEncoding() == null) {

            servletRequest.setCharacterEncoding(this.encoding);

        }

        filterChain.doFilter(servletRequest, servletResponse);

    }

 

    public void destroy() {

 

    }

 

}

 

2.       在web.xml配置文件里加Filters Configurations

 <!-- Filters Configurations        -->

       <filter>

              <filter-name>CHARACTER_ENCODING</filter-name>

              <filter-class>

                     common.encoding.CharacterEncodingFilter</filter-class>

              <init-param>

                     <param-name>encoding</param-name>

                     <param-value>UTF-8</param-value>

              </init-param>

              <init-param>

                     <param-name>forceEncoding</param-name>

                     <param-value>true</param-value>

              </init-param>

       </filter>

       <filter-mapping>

              <filter-name>CHARACTER_ENCODING</filter-name>

              <url-pattern>/*</url-pattern>

       </filter-mapping>

 

3.建立为UTF-8格式 

4.项目右键属性为UTF-8格式 
5.所有页面申明为UTF-8 
6.JDBC URL设为:UTF-8 
jdbc:://localhost:3306/databaseuse?useUnicode=true&characterEncoding=utf-8 
7.数据库Driver选择UTF-8格式 
8.Tomcat编码改成UTF-8 
在server.xml里面增加URIEncoding="UTF-8"

<Connector port="8080" maxHttpHeaderSize="8192" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" URIEncoding="UTF-8" />

转载于:https://www.cnblogs.com/panxuejun/p/6837784.html

你可能感兴趣的文章
CSS——水平/垂直居中
查看>>
Eclipse连接mysql数据库jdbc下载(图文)
查看>>
Python中Selenium的使用方法
查看>>
三月23日测试Fiddler
查看>>
20171013_数据库新环境后期操作
查看>>
poj 1654 && poj 1675
查看>>
运维派 企业面试题1 监控MySQL主从同步是否异常
查看>>
Docker 版本
查看>>
poj 1753 Flip Game
查看>>
在深信服实习是怎样的体验(研发测试岗)
查看>>
Linux免密码登陆
查看>>
SpringMVC中文件的上传(上传到服务器)和下载问题(二)--------下载
查看>>
Socket & TCP &HTTP
查看>>
osip及eXosip的编译方法
查看>>
Hibernate composite key
查看>>
[CF Round #294 div2] D. A and B and Interesting Substrings 【Map】
查看>>
keepalived+nginx安装配置
查看>>
我的2015---找寻真实的自己
查看>>
android编译遇到问题修改
查看>>
解决Ubuntu18.04.2远程桌面Xrdp登录蓝屏问题
查看>>