Spring MVC – Пример контроллера для скачивания файлов

Немного теории

В Spring MVC приложении, что бы скачать файл через браузер нужно выполнить следующие условия:

  1. Ничего не возвращаем, в сигнатуре будет void  и добавим HttpServletResponseв качестве аргумента метода.
  2. Определить в HttpServletResponse content type (далее тип содержимого) на тип содержимого нашего файла. Если вы не знаете, что такое тип содержимого, или хотите, чтобы браузер всегда отображал диалоговое окно «Сохранить как», установите его APPLICATION/OCTET-STREAM (не чувствителен к регистру)
  3. Добавить заголовок ответа HTTP с именем Content-Disposition и присвойте ему значение attachment; filename=fileName, где fileName — имя файла по умолчанию.

Читать далее «Spring MVC – Пример контроллера для скачивания файлов»

Spring MVC – @PathVariable игнорирует символы после точки

Проблема

Столкнулся с неожиданной проблемой во время запроса файла на выгрузку обрезалось расширение файлов fileName.XLS или fileName.XLSX в результате в контроллер прилетало только fileName.

 

Читать далее «Spring MVC – @PathVariable игнорирует символы после точки»

Spring Boot + JS используя webjars

Этот пример покажет как быстро подгружать java script зависимости в ваш проект и поддерживать актуальность версий. Но не забывайте что обратная зависимость не всегда работает ровно, поэтому я бы не советовал использовать всегда актуальные библиотеки на продакшен версиях. Читать далее «Spring Boot + JS используя webjars»

Spring Security проблемы кодировки логин формы, кривая кирилица

Чаще всего забугорные клиенты не просят авторизацию с использованием кириллицы, логинов на русском языке, но сегодня был тот самый случай.

Не смотря на то что весь проект в UTF-8 начиная от maven компилятора и заканчивая принудительно установленной кодировкой файлов в реализацию интерфейса UserDetailsService все равно приезжали данные в windows-1252.

spring UserDetailsService

Читать далее «Spring Security проблемы кодировки логин формы, кривая кирилица»

Leo Dev Blog | LD
Обзор конфиденциальности

На сайте используются обязательные и аналитические файлы cookie.

Обязательные cookie необходимы для корректной работы сайта.

Аналитические cookie используются для анализа посещаемости и улучшения работы сайта.

Вы можете изменить настройки использования cookie.