ФЭНДОМ


Контроллер - это класс, предназначенный для непосредственной обработки запросов от клиента и возвращения результатов.

Чаще всего, в самом контроллере не описывается логика обработки данных. Создаются дополнительные, сервисные классы, которые выполняют все основные задачи по обработке данных. Задача методов в контроллере - вызов сервисных методов в нужном порядке и возвращение результатов клиенту.

Основная задача методов контроллера - определить требуемое действие, корректно принять данные, корректно возвратить результат. При тестировании методов клиента рекомендуется проверять не фактическую обработку данных, а корректный вызов всех команд в методе - предполагая, что алгоритм работы этих методов продуман верно.

Вот так может выглядеть контроллер с использованием аннотаций:

@Controller
public class HelloWorldController {
    @RequestMapping("/helloWorld")
    public String helloWorld(Model model) {
        model.addAttribute("message", "Hello World!");
        return "helloWorld";
    }
}


В контроллере вы, скорее всего, будете использовать один или несколько JavaBeans - объектов, реализующих обработку данных. Необходимо, чтобы spring узнал об этих объектах. Для того, чтобы контроллер начал функционировать, не обязательно вручную задавать его бины (хотя это не запрещено). Можно указать spring'у, чтобы он автоматически обнаружил такие бины. Для этого в контекстном файле нужно указать следующее:

<context:component-scan base-package="your.controller.class.path"/>


Таким образом, файл контекстной схемы будет выглядеть так:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context.xsd">
 
    <context:component-scan base-package="your.controller.class.path"/>
 
    <!-- ... -->
 
</beans>



Далее стоит рассмотреть различные аннотации, которыми можно воспользоваться в контроллере, и объекты, которыми можно оперировать. Аннотации:


Объекты:


Навигация Править

Материалы сообщества доступны в соответствии с условиями лицензии CC-BY-SA , если не указано иное.