使用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")})