解决请求参数的中文乱码问题

本文介绍了解决Web应用中GET和POST请求中文乱码的方法,包括在Tomcat服务器配置文件中设置UTF-8编码,使用Spring框架的编码过滤器,以及通过自定义Struts2过滤器实现全面的字符集转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GET方式提交

在tomcat服务器的server.xml如下位置添加URIEncoding="UTF-8"
这里写图片描述

POST方式提交

在web项目里的web.xml配置spring编码过滤器

<filter>
    <filter-name>characterEncoding</filter-name>
    <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>UTF-8</param-value>
    </init-param>
</filter>

<filter-mapping>
    <filter-name>characterEncoding</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

Struts2解决乱码问题

1.自定义Filter实现类:MyCharacterEncodingFilter

//ctrl+shift+o   导入各种包 即可
/**
 * 过滤器的使用方法  
 * 在创建类的时候 要用到接口Filter
 * 要自己在web.xml文件中配置过滤器
 */
public class MyCharacterEncodingFilter extends HttpServlet implements Filter {

    private String encoding=null;

    public void doFilter(ServletRequest request, ServletResponse response,
            FilterChain chain) throws IOException, ServletException {

        request.setCharacterEncoding(encoding);
        chain.doFilter(request, response);
    }

    public void init(FilterConfig config) throws ServletException {
        encoding = config.getInitParameter("encoding"); //获得配置文件中的encoding
    }
}

2.配置web.xml

<!-- 解决中文乱码的问题 -->
<filter>
    <filter-name>MyCharacterEncodingFilter</filter-name>
    <filter-class>com.zyj.filter.MyCharacterEncodingFilter</filter-class>
    <init-param>
        <param-name>encoding</param-name>
        <param-value>utf-8</param-value>
    </init-param>
</filter>
<filter-mapping>
    <filter-name>MyCharacterEncodingFilter</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值