首页 > 代码库 > 161912、工具类:spring+springmvc自定义编码转换
161912、工具类:spring+springmvc自定义编码转换
一、自定义的类(注意其中的属性,web.xml中的配置就是根据这个类的)import org.springframework.web.filter.OncePerRequestFilter;import javax.servlet.FilterChain;import javax.servlet.ServletException;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.util.Iterator;/** * Filter - 编码格式转换 */public class EncodingConvertFilter extends OncePerRequestFilter { /** 原编码格式:与web.xml文件中对应设置 */ private String fromEncoding = "ISO-8859-1"; /** 目标编码格式 :与web.xml文件中对应设置*/ private String toEncoding = "UTF-8"; @SuppressWarnings("unchecked") @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterChain filterChain) throws ServletException, IOException { if (request.getMethod().equalsIgnoreCase("GET")) { for (Iterator<String[]> iterator = request.getParameterMap().values().iterator(); iterator.hasNext();) { String[] parames = iterator.next(); for (int i = 0; i < parames.length; i++) { try { parames[i] = new String(parames[i].getBytes(fromEncoding), toEncoding); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } } filterChain.doFilter(request, response); } /** * 获取原编码格式 * @return 原编码格式 */ public String getFromEncoding() { return fromEncoding; } /** * 设置原编码格式 * @param fromEncoding * 原编码格式 */ public void setFromEncoding(String fromEncoding) { this.fromEncoding = fromEncoding; } /** * 获取目标编码格式 * @return 目标编码格式 */ public String getToEncoding() { return toEncoding; } /** * 设置目标编码格式 * @param toEncoding * 目标编码格式 */ public void setToEncoding(String toEncoding) { this.toEncoding = toEncoding; }}二、web.xml<!--springmvc自定的过滤post--><filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <!-- 其中encoding用来设置编码格式,forceEncoding用来设置是否理会 request.getCharacterEncoding()方法,设置为true则强制覆盖之前的编码格式 --> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter><!--自定义过滤get请求,如果tomcat中server.xml文件中配置了URIEncoding="UTF-8",可以不需要--> <filter> <filter-name>encodingConvertFilter</filter-name> <filter-class>home.xxx.filter.EncodingConvertFilter</filter-class> <init-param> <param-name>fromEncoding</param-name> <param-value>ISO-8859-1</param-value> </init-param> <init-param> <param-name>toEncoding</param-name> <param-value>UTF-8</param-value> </init-param> </filter><filter-mapping>
161912、工具类:spring+springmvc自定义编码转换
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。