新手笔记 java Servlet 中文乱码问题过滤器

在Servlet中的doGet和doPost请求都需要解决中文乱码问题,

request.setCharacterEncoding("utf-8");
respone.setCharacterEncoding("utf-8");

也就是每次创建类去继承HttpServlet重写方法时都需要每次输入这段代码去解决乱码的问题

这个时候我们就可以创建一个过滤器,让每一次的请求都需要被这个过滤器过滤

如下,创建一个类去实现Filter接口   ,Filter接口中有一个doFilter方法,当我们编写好Filter,并配置对哪个web资源进行拦截后,WEB服务器每次在调用web资源的service方法之前,
都会先调用一下filter的doFilter方法  ,

配置的方法跟Servlet的配置相似:

<!--配置过滤器-->

<filter>
<filter-name>cf</filter-name>
<filter-class>com.web1.servlets.CharacterFilter</filter-class>     <!-- "/*"实现Filter接口的类的路径 -->
</filter>

<!--映射过滤器-->
<filter-mapping>
<filter-name>cf</filter-name>
<url-pattern>/*</url-pattern>  <!--"/*"表示拦截所有的请求-->
</filter-mapping>

重写doFiter方法:

 

public class CharacterFilter implements Filter{

@Override
public void destroy() {
// TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest arg0, ServletResponse arg1, FilterChain arg2)
throws IOException, ServletException {


// 对request、response进行一些预处理
arg0.setCharacterEncoding("utf-8");
arg1.setCharacterEncoding("utf-8");
arg2.doFilter(arg0, arg1);

}

@Override
public void init(FilterConfig arg0) throws ServletException {
// TODO Auto-generated method stub
}

 

以上纯属本人(初学者)的一些见解 ,第一次写博 如果有什么错误的地方还请谅解,可以的话也可以给出你们宝贵的意见,谢谢

 

转载于:https://www.cnblogs.com/keleshufan/p/9389252.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值