概述
- 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 from
- boolean 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;
- }
- }
最后
以上就是轻松草莓为你收集整理的解决struts2get请求乱码问题的全部内容,希望文章能够帮你解决解决struts2get请求乱码问题所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复