Есть проект, к которому подключен Spring 3.2. через web.xml
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<context-param>
<param-name>contextClass</param-name>
<param-value>
org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</context-param>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
ru.web.spring.api.config.ApiConfiguration
</param-value>
</context-param>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>
org.springframework.web.servlet.DispatcherServlet
</servlet-class>
<init-param>
<param-name>contextClass</param-name>
<param-value> org.springframework.web.context.support.AnnotationConfigWebApplicationContext
</param-value>
</init-param>
<init-param>
<param-name>contextConfigLocation</param-name>
<param-value>
ru.web.spring.api.config.ApiDispathConfiguration
</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
Так же есть контроллер
@Controller
@RequestMapping(value = "/api/rabotodatel")
public class RabotodatelController
{
@RequestMapping(value = "find_founder", method = RequestMethod.GET)
public void getУчредители(@RequestParam(value = "fam", required = false) String fam,
@RequestParam(value = "ima", required = false) String ima,
@RequestParam(value = "otch", required = false) String otch,
@RequestParam(value = "bdate", required = false) String bdate,
@RequestParam(value = "snils", required = false) String snils,
@RequestParam(value = "inn", required = false) String inn,
HttpServletResponse response,
HttpServletRequest request)
{
// обработка
}
}
Теперь суть вопроса. При поиске в строку запроса надо вводить аргументы и они будут состоять из символов кириллицы. Когда данные приходят, то вместо, к примеру, фамилии получаю какую-то не читаемую ерунду.
Первое что пришло в голову, настроить кодировку "CharacterEncodingFilter", его я прописал в web.xml, следующим образом:
<filter>
<filter-name>characterEncodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class>
<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>
<filter-mapping>
<filter-name>characterEncodingFilter</filter-name>
<url-pattern>/services/*</url-pattern>
</filter-mapping>
Результатов это не дало, вообще никаких, пытался даже менять кодировку с "UTF-8", на что-то другое, без изменений.
Сам проект на smartgwt, а spring только для api. Как можно проверить работает ли "CharacterEncodingFilter"? Или может ещё есть способ получить корректно символы кириллицы?
Проверял просто забивая ссылку с аргументами в браузер, потом ещё спец прогой формировал запрос с заполнением заголовка (header) http, тоже не помогло.
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости