使用Servlet时,最为厌倦的便是字符乱码,为避免每一个Servlet都写上几句字符过滤的语句,使用Filter最好不过了。
以下是实现代码:
1.创建实现Filter接口的自己定义的类,我自定义的是CharactorFilter
2.在web.xml中配置 CharacterFilter,以及设置初始化参数【encoding--->UTF-8】
3.在CharacterFilter中就收初始化参数,然后再doFilter中给request&response分别设置字符编码
分别是:request.setCharacterEncoding(encoding); //request的编码格式
response.setContentType("text/html;charset="+encoding); //response的编码格式
最后回收encoding。
***************************************************************************************************************************************************************************************************
使用注解方式来设置Filter的初始化参数:
@WebFilter(filterName="characterFilter",initParams={@WebInitParam(name="encoding",value="UTF-8")})