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-отклика.

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

Please follow and like us:

Leave a Comment