В этом руководстве показано, как использовать Spring Boot для создания веб-приложения MVC с JSP.
Предпосылки:
- Eclipse IDE (неоновый выпуск)
- Maven 4
- Java 1.8
1. Создать веб-проект Maven
Откройте eclipse, затем создайте новый веб-проект maven и назовите его SpringBootWebJsp.
Структура сгенерированных проектов выглядит следующим образом: 
2. pom.xml
После создания веб-проекта первым шагом является настройка Spring Boot внутри pom.xml , поэтому мы добавляем следующее в качестве родительской зависимости:
|
1
2
3
4
5
|
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version></parent> |
Spring Boot предоставляет стартер, называемый spring-boot-starter-web, который автоматически импортирует все необходимые jar-файлы, необходимые для установки типичного приложения Spring MVC, и автоматически настраивает средство разрешения представления и диспетчер сервлетов приложения, так что разработчик скорее сосредоточится на разработке. чем конфигурация, поэтому мы добавляем стартер как зависимость:
|
1
2
3
4
|
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId></dependency> |
Поскольку мы используем JSP в качестве технологии внешнего интерфейса, нам нужно добавить следующую зависимость, чтобы иметь возможность компилировать JSP и использовать его функции:
|
1
2
3
4
5
|
<dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope></dependency> |
Вот и все, только 2 зависимости могут составить ваше приложение MVC. Ниже представлены автоматически импортированные банки: 
Это целый pom.xml для справки:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
|
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" <modelVersion>4.0.0</modelVersion> <groupId>com.programmer.gate</groupId> <artifactId>SpringBootWebJSP</artifactId> <packaging>war</packaging> <version>0.0.1-SNAPSHOT</version> <name>SpringBootWebJSP</name> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.10.RELEASE</version> </parent> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project> |
PS: при использовании JSP в качестве технологии переднего плана вы должны обязательно установить атрибут «комплектация» как war, а не как jar, поскольку команда Spring Boot заявила, что в настоящее время существуют ограничения для поддержки JSP внутри jar-файла (преобразователь представления не будет карта правильно).
3. Application.java
Второй шаг — создать класс инициализатора Spring Boot, это точка входа нашего приложения. При аннотировании класса с помощью @SpringBootApplication мы настраиваем наше приложение для запуска через встроенный контейнер сервлетов, предоставляемый Spring Boot (tomcat по умолчанию).
Application.java
|
01
02
03
04
05
06
07
08
09
10
11
12
|
package com.programmer.gate; import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplicationpublic class Application{ public static void main(String[] args) { SpringApplication.run(Application.class, args); }} |
4. application.properties
Spring Boot автоматически настраивает распознаватель представлений и сервлет-диспетчер веб-приложения и предоставляет нам способ определить нашу собственную конфигурацию с помощью application.properties .
Поэтому мы создаем application.properties в src / main / resources и определяем следующие свойства:
|
1
2
3
4
|
spring.mvc.view.prefix=/WEB-INF/jsp/spring.mvc.view.suffix=.jspserver.port=9093home.message= Programmer Gate |
Здесь мы настраиваем преобразователь представлений для сопоставления представлений с файлами типа jsp в «WEB-INF / jsp /» . Мы также изменим порт по умолчанию для встроенного tomcat на 9093, а также определим другие свойства бизнес-сообщений, которые будут использоваться позже в нашем приложении.
5. home.jsp
В этом руководстве мы создаем очень простое приложение MVC, которое отображает приветственное сообщение для конечного пользователя, поэтому мы создаем очень простой файл jsp с именем home.jsp в WEB-INF / jsp :
|
01
02
03
04
05
06
07
08
09
10
11
|
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"></head><body> <h1>Welcome to ${message} </h1> </body></html> |
6. HomeController.java
Теперь мы создаем наш главный контроллер с именем HomeController в com.programmer.gate и определяем его для обслуживания запросов, поступающих из корневого пути, следующим образом:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
|
package com.programmer.gate;import java.util.Map; import org.springframework.beans.factory.annotation.Value;import org.springframework.stereotype.Controller;import org.springframework.web.bind.annotation.RequestMapping; @Controllerpublic class HomeController { @Value("${home.message}") private String message; @RequestMapping("/") public String welcome(Map<String, Object> model) { model.put("message", this.message); return "/home"; } } |
Наш контроллер просто читает приветственное сообщение из application.properties и затем перенаправляет на home.jsp .
7. Разверните приложение
Ниже приведены шаги для развертывания нашего приложения:
- Щелкните правой кнопкой мыши pom.xml -> run-as -> Maven install
- Maven генерирует военный файл SpringBootWebJSP-0.0.1-SNAPSHOT.war внутри целевой папки
- Откройте cmd, затем запустите войну, используя: java -jar SpringBootWebJSP-0.0.1-SNAPSHOT.war
Итак, наше приложение запущено и готово обслуживать запросы через порт 9093 .
Вот и все, я надеюсь, вам это нравится. Для уточнения, пожалуйста, оставьте свои мысли в разделе комментариев ниже.
| Опубликовано на Java Code Geeks с разрешения Хуссейна Терека, партнера нашей программы JCG . Смотреть оригинальную статью здесь: Spring Boot + JSP
Мнения, высказанные участниками Java Code Geeks, являются их собственными. |