Автор оригинала: mkyong.
Spring MVC , Java Контроллер представления модели (MVC) веб-фреймворк, который построен поверх фреймворка Spring Inversion of control (IoC).
1. Весенний MVC Привет, Мир
Некоторые примеры hello world для быстрого запуска Spring MVC framework.
- Пример Gradle – Spring 4 MVC Hello World (конфигурация XML)
- Пример Gradle – Spring 4 MVC Hello World (@JavaConfig + сервлет 3)
- Пример Maven – Spring 3 MVC Hello World (конфигурация XML)
- Пример Maven – Spring 3 MVC Hello World (@JavaConfig + сервлет 3)
- Весна 3 Пример ОТДЫХА (Работает)
- Пример ОТДЫХА пружины 4 (Рабочий)
@Устаревший
– Maven + Весна 2.5.6 MVC привет, пример мира@Устаревший
– Maven + Весна 2.5.6 MVC привет пример мировой аннотации
Новое и обновленное…
2. Сопоставление обработчиков
Определите, как веб-запрос (URL) сопоставляется с обработчиками контроллера.
- Пример сопоставления BeanNameUrlHandlerMapping Сопоставляет запрошенный URL-адрес с именем контроллера.
- Пример сопоставления с именем класса контроллера Использует соглашение для сопоставления запрошенного URL-адреса контроллеру.
- Простой пример отображения Разрешите разработчику явно указывать сопоставление шаблонов URL-адресов и сопоставлений обработчиков.
- Настройте приоритет сопоставления обработчика Если применяется несколько сопоставлений обработчиков представлений, необходимо объявить приоритет, чтобы избежать проблемы конфликта.
3. Контроллер
Класс контроллера для обработки веб-запроса.
- Пример MultiActionController Группируйте связанные действия в один класс контроллера.
- Пример аннотации MultiActionController Контроллер нескольких действий с использованием аннотации @RequestMapping – лучшее и простое решение.
- Пример решения propertiesmetodnameresolver Гибкий преобразователь имен методов для класса контроллера MultiActionController, он позволяет явно определять соответствие между запрошенным URL-адресом и именем метода.
- Пример ParameterMethodNameResolver Другой преобразователь имен методов для класса контроллера MultiActionController, он позволяет сопоставлять URL-адрес с именем метода через запрошенное имя параметра.
- Пример ParameterizableViewController С помощью ParameterizableViewController вам больше не нужно жестко кодировать имя представления в классе контроллера, вместо этого вы указываете имя представления через свойство ParameterizableViewController “Viewname”.
4. Преобразователь вида
Разрешите “имя представления”, возвращенное из класса контроллера, на страницу физического представления или страницу JSP.
- Пример решения InternalResourceViewResolver Добавление предопределенного префикса и суффикса к имени представления (префикс + имя представления + суффикс) и создание окончательного URL-адреса страницы представления.
- Пример XmlViewResolver Помещает компоненты представления в XML-файл.
- Пример решения ResourceBundleViewResolver Помещает компоненты представления в файл “.свойства”.
- Настройка приоритета нескольких преобразователей представлений Если применяются несколько стратегий разрешения представлений, необходимо объявить приоритет, чтобы избежать проблемы конфликта.
5. Обработка форм
Обработка форм в Spring MVC.
- Пример обработки формы Обработка форм в Spring MVC, версия на основе XML.
- Пример аннотации для обработки формы Обработка форм в Spring MVC, версия аннотации.
- Обработка отправки дубликатов форм Шаблон дизайна “Отправить/Перенаправить/Получить” является распространенным решением этой проблемы с отправкой дублированных форм.
- Пример перенаправления Представление, которое перенаправляет на другой абсолютный, относительный к контексту или относительный URL текущего запроса.
- Обработка многостраничных/мастер-форм Как обрабатывать многостраничные формы или форму мастера.
6. Библиотека тегов форм Spring
Визуализация компонентов HTML-формы с помощью тега формы Spring.
- Пример текстового поля <форма: ввод/> тег, визуализируйте поле текстового поля HTML.
- Пример пароля <форма: пароль/> тег, отобразите поле пароля HTML.
- Пример текстовой области <форма: текстовая область/> тег, визуализируйте поле текстовой области HTML.
- Пример флажков и флажков <форма: флажок/>, <форма: флажки/> теги, отображающие один или несколько флажков HTML.
- Переключатель и переключатели пример <форма: переключатель/>, <форма: переключатели/> теги, отображающие одну или несколько HTML-переключателей.
- Пример раскрывающегося списка и списка <форма: выбор/>, <форма: опция/> и <форма: параметры/> теги, отображают раскрывающийся список HTML, поле множественного выбора и список.
- Пример скрытого значения <форма: скрытые/> теги, отображающие поле скрытого значения HTML.
- Пример тега ошибок формы <форма: ошибки/> тег, выводит сообщения об ошибках этих компонентов формы.
- Пример загрузки файла Обработка загрузки файла с помощью Spring MultipartResolver.
7. Интеграция Spring MVC с другими фреймворками
Интегрируйте Spring MVC с другими.
- Spring 3 MVC и JSR303 @Допустимый пример Использование валидатора гибернации (реализация JSR 303) для проверки компонента в Spring MVC.
- Пример канала Spring 3 MVC и RSS Использование ROME для создания RSS-канала из Spring MVC.
- Spring 3 MVC и пример XML Использование JAXB для генерации XML-вывода из Spring MVC.
- Пример Spring 3 MVC и JSON Использование Джексона для генерации выходных данных JSON из Spring MVC.
- Файл Spring MVC и Excel с помощью AbstractExcelView Использование AbstractExcelView для экспорта данных в файл Excel через библиотеку POI Apache.
- Файл Spring MVC и Excel с помощью Abstractexcelview Использование AbstractJExcelView для экспорта данных в файл Excel через библиотеку JExcelAPI.
- Весенний MVC и PDF-файл через AbstractPdfView Использование AbstractPdfView для экспорта данных в Pdf-файл с помощью библиотеки iText Бруно Лоуджи.
- Пример интеграции Spring MVC и Log4j Пример интеграции Log4j в приложение Spring MVC.
8. Часто задаваемые вопросы
Некоторые распространенные случаи использования.
- Весна 3 MVC ContentNegotiatingViewResolver пример решения Этот viewresolver позволяет вам определить, какой преобразователь представлений будет возвращен, на основе повторно запрошенного расширения файла.
- Пример обработки исключений Обработка исключений в Spring MVC.
- Пример перехватчиков обработчиков Перехватывать веб-запрос через перехватчики обработчиков.
- Пример интернационализации В Spring MVC поддерживается несколько языков.
10. Распространенные Ошибки
Распространенные ошибки и решения Spring MVC.
- Значение модели Modelandview не отображается в JSP через EL
- код ошибки 404 не работает в Spring MVC
- Не удается изменить заголовок HTTP accept – используйте другую стратегию разрешения локали
- Spring MVC не удалось преобразовать значение свойства в форме загрузки файла
- Ни BindingResult, ни простой целевой объект для имени компонента “xxx” не доступны как атрибут запроса
- Исключение ClassNotFoundException: com.sun.синдикация.лента. Подача Проволоки
- Исключение ClassNotFoundException: com.thoughtworks.xstream.io . Средство чтения иерархических потоков
Ссылки на Spring Web MVC
Оригинал: “https://mkyong.com/tutorials/spring-mvc-tutorials/”