Параметры запроса строки без учета регистра

Моя цель, чтобы все ниже URI 'с должно работать

https: // Остальные / хуг?Сортировать= имя

https: // Остальные / хуг?Сортировать= имя

https: // Остальные / хуг?фильтр= Имя = значение

https: // Остальные / хуг?Фильтр= Имя = значение

Чтобы добиться этого, я создал собственный фильтр, который переопределяет HttpServletRequest, который передается в FilterChain. Ниже ссылка для этого подхода:

http://forum.springsource.org/archive/index.php/t-87433.html

Мой код:

import java.io.IOException;
import java.util.Map;

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.HttpServletRequestWrapper; 

public class HttpCustomParamFilter implements Filter
{
    private static class HttpServletRequestCustomeWrapper extends HttpServletRequestWrapper
    {
        private String[] parameterValues;

        @Override
        public String[] getParameterValues(String name)
        {
            Map localParameterMap = super.getParameterMap();

            // Handle case insensitivity of http request paramters like start, count, query, sort, filter etc.
            if (localParameterMap != null && !localParameterMap.isEmpty())
            {
                parameterValues = new String[localParameterMap.size()];
                for (String key : localParameterMap.keySet())
                {
                    if (name.equalsIgnoreCase(key))
                        parameterValues = localParameterMap.get(key);
                    else
                        parameterValues = null;
                }
            }
            return parameterValues;
        }

        public HttpServletRequestCustomWrapper(final ServletRequest request)
        {
            super((HttpServletRequest) request);
        }


    }

    @Override
    public void doFilter(ServletRequest request, ServletResponse response,
        FilterChain chain) throws IOException, ServletException {
        // override the request passed to the FilterChain
        chain.doFilter(new HttpServletRequestCustomWrapper(request), response);
        }

    @Override
    public void init(FilterConfig filterConfig)
            throws ServletException
    {
        // TODO Auto-generated method stub

    }

    @Override
    public void destroy()
    {
        // TODO Auto-generated method stub

    }

}

В этом коде я переопределил метод getParameterValues (String name) и добился нечувствительности к регистру параметров запроса, но не уверен, нужно ли мне переопределять какие-либо другие методы.

мои сомнения:

мне нужно переопределить другие методы, такие как getParameter () и getParameterNames ()?

на какую внутреннюю реализацию это влияет?

в каком классе я могу увидеть реализацию кода getParameter (), getParameterNames () и getParameterValues ()?

Ответы на вопрос(1)

Ваш ответ на вопрос