Spring MVC

Spring Framework (или коротко Spring) — универсальный фреймворк с открытым исходным кодом для Java-платформы. Также существует форк для платформы .NET Framework, названный Spring.NET.

Первая версия была написана Родом Джонсоном, который впервые опубликовал её вместе с изданием своей книги «Expert One-on-One Java EE Design and Development»[3] (Wrox Press, октябрь 2002 года).

Spring Framework (или коротко Spring) — универсальный фреймворк с открытым исходным кодом для Java-платформы. Также существует форк для платформы .NET Framework, названный Spring.NET.

Первая версия была написана Родом Джонсоном, который впервые опубликовал её вместе с изданием своей книги «Expert One-on-One Java EE Design and Development» (Wrox Press, октябрь 2002 года).

 

MVC — это шаблон, помогающий разделаять презентацию от бизнес логики. Если кратко, в приложении MVC все Web запросы обрабатываются контроллером. Контроллер ответственен за распознавание запросов пользователя и за взимодействие с объектами бизнес логики. Эта бизнес объекты — модель (model). Контроллер, после выполнения входящего запроса, решает, какой view нужно выбрать. View использует данные модели для создания презентации, которая возвращается пользователю.

В данной статье мы расмотрим пример создания простого web-приложения на основе Spring MVC. Мы будем использовать:

1. Spring

2. Maven

3. Jackson

И так сначала создаем проект через Maven. У меня получилась следующая структура:

Дальше нам необходимо подключить все зависимости. Тоесть наш pom.xml выглядит следующим образом:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<modelVersion>4.0.0</modelVersion>

<groupId>RestDemo</groupId>

<artifactId>RestDemo</artifactId>

<packaging>war</packaging>

<version>0.0.1-SNAPSHOT</version>

<name>RestDemo Maven Webapp</name>

<url>http://maven.apache.org</url>

 

<properties>

<spring.version>3.2.2.RELEASE</spring.version>

<jackson.version>1.9.10</jackson.version>

<jdk.version>1.6</jdk.version>

</properties>

 

<dependencies>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-core</artifactId>

<version>${spring.version}</version>

 

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>sprig-web</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.springframework</groupId>

<artifactId>spring-webmvc</artifactId>

<version>${spring.version}</version>

</dependency>

<dependency>

<groupId>org.codehaus.jackson</groupId>

<artifactId>jackson-mapper-asl</artifactId>

<version>${jackson.version}</version>

</dependency>

<dependency>

<groupId>javax.servlet</groupId>

<artifactId>javax.servlet-api</artifactId>

<version>3.1.0</version>

<scope>provided</scope>

</dependency>

</dependencies>

 

<build>

....

</build>

</project>

 

Дальше настраиваем web.xml

Дальше очень важный файл mvc-dispatcher-servlet.xml, он и будет решать где наши контроллеры которые будут выполнять необходимые действия

Так как мы используем Jackson, для того что вернуть результат в виде JSON то нам необходимо создать модель. Экземпляр которой мы будем возвращать в виде(формате) JSON.  Также у нас будет метод который просто возвращает текущую дату, там все просто и это для наглядности.

Наша модель:

Дальше наш контроллер:

 

Что насинтересует:

1. @RequestMapping(value = "/fields/values/{name}", method = RequestMethod.GET)

value - формат запросса который будет обрабатыватсья. Тоесть в нашем случае url. Также {name}  - это возможность передать переменную.

2. @PathVariable String name - имя через которое будет доступна наша переменная с url.

3. @ResponseBody - аннотация может быть поставлена на методе и указывает, что тип возвращаемого результата должен быть написан прямо на теле HTTP-отклика.

А вот резульат выглядит следующим образом

Это простейший пример. Но его будет достаточно чтоб работать и расти дальше. Мы не расмотрели полностью view часть. Это будет в следующих публикациях. 

comments powered by Disqus

Интересное

Стив Джобс о Mac OS X:
«Я убежден в том, что половина того что отделяет успешных предпринимателей от неудачников — это настойчивость.».
Марк Эллиот Цукерберг:
«Люди всегда немного скептически относятся к чему-то быстрорастущему, но им нужно просто взглянуть на то, что делается.».
Марк Эллиот Цукерберг:
"Множество конфиденциальных вещей намного проще держать в централизованной системе."
Стив Джобс о операционной системе Google Android:
Мы не лезем в поиск, но они решили заняться телефонами. Не надо заблуждаться, они хотят уничтожить iPhone. Мы им не позволим.
Стив Джобс о Mac OS X:
«Мы сделали значки на экране такими красивыми, что вам захочется их лизнуть».


Курсы валют

bank-ua.com bank-ua.com bank-ua.com

Стоит взглянуть