public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { // TODO Auto-generated method stub // place your code here // pass the request along the filter chain //請求的編碼 request.setCharacterEncoding("utf-8"); chain.doFilter(request, response); //響應的編碼 response.setCharacterEncoding("utf-8"); }
使用過濾器設置后,就不需要在頁面中再單獨設置字符編碼
Web.xml中設置
<filter> <display-name>CharacterEncodingFilter</display-name> <filter-name>CharacterEncodingFilter</filter-name> <filter-class>com.pb.news.web.filter.CharacterEncodingFilter</filter-class> </filter> <filter-mapping> <filter-name>CharacterEncodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping>
<filter-name>用于為過濾器指定一個名字,該元素的內容不能為空?! ?lt;filter-class>元素用于指定過濾器的完整的限定類名?! ?lt;init-param>元素用于為過濾器指定初始化參數,它的子元素<param-name>指定參數的名字,<param-value>指定參數的值。
在過濾器中,可以使用FilterConfig接口對象來訪問初始化參數。如果過濾器不需要指定初始化參數,那么<init-param>元素可以不配置。
使用Eclipse創建過濾器后會自動在web.xml中自動增加以上內容,也可以手動增加
四、過濾器的使用步驟新聞熱點
疑難解答