>>分享Java Web开发技术,并且对孙卫琴的《Tomcat与Java Web开发技术详解》提供技术支持 书籍支持  卫琴直播  品书摘要  在线测试  资源下载  联系我们
发表一个新主题 开启一个新投票 回复文章 您是本文章第 15732 个阅读者 刷新本主题
 * 贴子主题:  设置请求数据的字符编码的过滤器 回复文章 点赞(0)  收藏  
作者:flybird    发表时间:2025-11-05 03:57:23     消息  查看  搜索  好友  邮件  复制  引用

import javax.servlet.*;
import javax.servlet.annotation.WebFilter;
import javax.servlet.annotation.WebInitParam;
import java.io.IOException;

@WebFilter("*")
public class CharacterEncodingFilter implements Filter {

    private String encoding = "utf-8";

    @Override
    public void init(FilterConfig filterConfig) throws ServletException {
         String encodingStr = filterConfig.getInitParameter("encoding");
         if (!encodingStr.isEmpty()) {
            encoding = encodingStr;
         }
    }

    @Override
    public void doFilter(ServletRequest servletRequest,
                                    ServletResponse servletResponse, FilterChain filterChain)
                                     throws IOException, ServletException {
         servletRequest.setCharacterEncoding(encoding);
         filterChain.doFilter(servletRequest, servletResponse);
    }

    @Override
    public void destroy() {

    }

}

在初始化时先获取字符编码,然后在doFilter()方法里设置字符编码。
filterChain.doFilter(servletRequest, servletResponse);
这一行是在设置完编码后放行的语句。



程序猿的技术大观园:www.javathinker.net
  Java面向对象编程-->输入与输出(上)
  JavaWeb开发-->开发JavaMail Web应用
  JSP与Hibernate开发-->通过JPA API检索数据
  Java网络编程-->ServerSocket用法详解
  精通Spring-->Vue组件开发高级技术
  Vue3开发-->CSS过渡和动画
  一个web疑问
  HTTP请求方式:GET 对比 POST
  HTTP 请求和响应结果的数据格式
  JSP 调试 技巧
  Servlet生成HTTP 响应头
  Apache网页与安全优化——网页压缩及缓存(理论实践相结合!...
  解决HttpServletRequest的输入流只能读取一次的问题
  用@WebFilter配置过滤器
  JSTL标签库的标签用法
  Servlet的非阻塞I/O处理方式
  Servlet的高级运用技巧:备注、模块化、异步处理、优化文件上...
  关于把JSP文件放在Web应用的WEB-INF目录下的优缺点的探讨
  利用Tomcat自带的过滤器类来处理HTTP请求中的字符编码
  Servlet中取不到Cookie的原因和解决办法
  欢迎读者们为《Tomcat与JavaWeb开发技术详解》书的升级提出宝...
  更多...
 IPIP: 已设置保密
楼主      
1页 0条记录 当前第1
发表一个新主题 开启一个新投票 回复文章


中文版权所有: JavaThinker技术网站 Copyright 2016-2026 沪ICP备16029593号-2
荟萃Java程序员智慧的结晶,分享交流Java前沿技术。  联系我们
如有技术文章涉及侵权,请与本站管理员联系。