首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

解决struts2get请求乱码有关问题

2012-09-07 
解决struts2get请求乱码问题1、建立CharFilter.javapackage cn.itcast.pubimport java.io.IOExceptionimp

解决struts2get请求乱码问题

1、建立CharFilter.java

package cn.itcast.pub;import java.io.IOException;import java.util.Map;import java.util.Set;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 CharFilter implements Filter {private FilterConfig filterConfig = null;public void destroy() {this.filterConfig = null;}@SuppressWarnings("unchecked")public void doFilter(ServletRequest req, ServletResponse response,FilterChain chain) throws IOException, ServletException {String encoding = this.filterConfig.getInitParameter("encoding");HttpServletRequest request = (HttpServletRequest) req;HttpServletResponse resp = (HttpServletResponse) response;request.setCharacterEncoding(encoding);resp.setContentType("text/html;charset="+encoding);System.out.println(request.getQueryString());// 处理GET参数if (request.getMethod().equalsIgnoreCase("get")) {Map paramMap = req.getParameterMap();String[] queryStringArray = { "" };if (request.getQueryString() != null) {queryStringArray = request.getQueryString().split("&");}for (int i = 0; i < queryStringArray.length; i++) {queryStringArray[i] = queryStringArray[i].replaceAll("(.*)=(.*)", "$1");}Set<String> keySet = paramMap.keySet();for (String key : keySet) {// check where param fromboolean isFromGet = false;for (String paramFromGet : queryStringArray) {if (key.equals(paramFromGet)) {isFromGet = true;}}if (!isFromGet) {continue;}String[] paramArray = (String[]) paramMap.get(key);for (int i = 0; i < paramArray.length; i++) {paramArray[i] = new String(paramArray[i].getBytes("iso-8859-1"), encoding);}}}chain.doFilter(req, resp);}public void init(FilterConfig filterConfig) throws ServletException {this.filterConfig = filterConfig;}}

?2、web.xml

<!-- Filter 定义  --><!-- GET Character Encoding filter --><filter><filter-name>CharFilter</filter-name><filter-class>net.hlj.common.filter.CharFilter</filter-class><init-param><param-name>encoding</param-name><param-value>UTF-8</param-value></init-param></filter><!-- Filter 映射 --><filter-mapping><filter-name>CharFilter</filter-name><url-pattern>/*</url-pattern></filter-mapping>

?

热点排行