jsp字符拦截器
很多在學習jsp的時候遇到亂碼的問題吧,解決方法其實很簡單,自定義一個字符攔截器即可。
為了不耦合在業(yè)務代碼中,我們應該將字符轉(zhuǎn)換代碼獨立出來,做成一個字符攔截器
直接上代碼:
package com.jdbc.filter; import java.io.IOException; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; import javax.servlet.ServletException; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; public class CharacterFilter implements Filter {private FilterConfig config;public void doFilter(ServletRequest req, ServletResponse resp,FilterChain chain) throws IOException, ServletException {HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse response = (HttpServletResponse) resp;// 從web.xml文件中獲取encoding對應的init-param中的param-valueString encoding = config.getInitParameter("encoding");// 只要定義了變量;就要判斷是否為空;不然會報空指針異常if (encoding != null) {// 指明內(nèi)容請求格式的字符編碼集response.setContentType("text/html ;charset=" + encoding);// 請求時規(guī)范字符編碼格式request.setCharacterEncoding(encoding);// 指明輸出的格式字符編碼集response.setCharacterEncoding(encoding);}// 進入下一個攔截器chain.doFilter(request, response);}// FilterConfig 是攔截器的全局變量public void init(FilterConfig config) throws ServletException {this.config = config;}public void destroy() {} }
<!-- 字符編碼集攔截器 --><filter><filter-name>CharacterFilter</filter-name><filter-class>com.jdbc.filter.CharacterFilter</filter-class><!-- 配置初始化參數(shù) --><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><!-- 映射路徑 --><filter-mapping><filter-name>CharacterFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>
以上便是字符攔截器,獨立于業(yè)務代碼,只需要copy到項目中即可。
一點點學習,一點點成長,有什么疑問和建議可以留言,我會及時處理。
更多干貨等你來拿?http://www.itit123.cn/
總結
- 上一篇: 拼多多API接口:item_search
- 下一篇: 最浅显的IE反劫持攻略(转)