[JAVA] Erstellen Sie eine Hello World-Webanwendung mit Spring Framework + Jetty

Wie der Titel schon sagt, hatte ich die Gelegenheit, Java zum ersten Mal seit 10 Jahren bei der Arbeit zu erleben, also werde ich es jetzt selbst studieren. Es handelt sich um eine Studie eines vorhandenen Systems, das in Betrieb ist. Es handelt sich also nicht um den neuesten Technologie-Stack, sondern um eine etwas ältere Kombination.

Web-Apps werden nicht bereitgestellt, sondern nur lokal ausgeführt.

Die zu verwendenden Werkzeuge und der Kenntnisstand des Autors.

Umweltvorbereitung

Java wurde zuvor installiert, daher werde ich es so verwenden, wie es ist. Java 8 statt 14 oder 11 aufgrund von Umständen für Erwachsene.

$ java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)

Da es vorerst Mac ist, setzen Sie Maven mit Gebräu.

$ brew install maven
(Abkürzung)
$ mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
(Abkürzung)
Default locale: ja_JP, platform encoding: UTF-8
OS name: "mac os x", version: "10.14.6", arch: "x86_64", family: "mac"

IntelliJ installieren

Auch IntelliJ IDEA Community installiert. Da ich es mit GUI eingegeben habe, wird die Methode weggelassen.

Ändern Sie die Einstellungen nach Ihren Wünschen. Das war hilfreich. https://www.karakaram.com/intellij-idea-always-do-things/

Ich benutze den Grundstil so wie er ist, aber er ist nicht gut für die psychische Gesundheit, deshalb habe ich nur ein wenig mit Keymap gespielt (besonders C-h, C-d).

Projekterstellung

Erstellen Sie vorerst ein leeres Projekt auf GitHub und klonen Sie es. Dies ist das Arbeitsverzeichnis.

$ git clone https://github.com/sekikatsu36/spring-sample.git
$ cd spring-sample
$ git config --local user.name "sekikatsu36"
$ git config --local user.email "(Abkürzung)"

Erstellen Sie mit IntelliJ ein neues Maven-Projekt. Behalten Sie die Standardeinstellungen bei, ohne Einstellungen zu ändern.

スクリーンショット 2020-06-27 13.29.07.png スクリーンショット 2020-06-27 13.36.29.png

Damit ist der Ausgangszustand abgeschlossen.

$ ls -a
.			.DS_Store		.gitignore		pom.xml			src
..			.git			.idea			spring-sample.iml

Federrahmeneinstellungen

Es gibt viele Spring Boot-Artikel im Web und nur wenige Spring Frameworks. Da ich jetzt jedoch ein Feder-Framework benötige, habe ich pom.xml geändert, um es verwendbar zu machen.

Dies ist das ausgefüllte Formular.

pom.xml


<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example.api</groupId>
    <artifactId>spring-sample</artifactId>
    <version>1.0-SNAPSHOT</version>
    <packaging>war</packaging>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

        <!--  pom.Ermöglichen Sie, dass die Version als Variable in XML behandelt wird-->
        <spring.version>5.2.5.RELEASE</spring.version>
        <jetty.version>9.4.11.v20180605</jetty.version>
    </properties>

    <dependencies>
        <!-- spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>

        <!-- jetty -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>javax.servlet-api</artifactId>
            <version>4.0.1</version>
            <scope>provided</scope>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.4.14.v20181114</version>
            </plugin>
        </plugins>
    </build>
</project>

Am Anfang habe ich nur "Eigenschaften" und "Abhängigkeiten" geschrieben. Andere Punkte werden später beschrieben.

Wenn Sie einen Fehler in der Referenz erhalten

In meiner Umgebung wurde die Fehlermeldung "org.springframework.spring-webmvc: 5.2.5.RELEASE" nicht gefunden. Es existiert in Repository.

Mach Folgendes

mvn clean install

Ergebnis

Schreiben Sie die Quelle

Grundsätzlich können Sie dies gemäß https://qiita.com/kasa_le/items/6aaf17823db67c951fb0 tun. Da es sich bei diesem Artikel jedoch um "IntelliJ IDEA Ultimate" handelt, wird in "IDEA Community" Ansicht erstellen angezeigt Nach 9C% E6% 88% 90) funktioniert es nicht so wie es ist.

Der Vorgang des Erstellens des Controllers und des Ansichtsordners wird vorerst auf diese Weise abgeschlossen. Folgendes wird getan.

/src/main
  /java/org/example/controllers
    IndexController.java
  /webapp/WEB-INF
    /views
    web.xml
    dispatcher-servlet.xml

Erstellen Sie eine JSP-Datei

Bei der Community Edition scheint "JSP / JSPX" beim Erstellen einer neuen Datei nicht angezeigt zu werden, da keine Spring-Unterstützung vorhanden ist. https://www.jetbrains.com/ja-jp/idea/features/editions_comparison_matrix.html

Wählen Sie also normalerweise "Datei" und erstellen Sie alles selbst.

index.jsp


<%@ page import="org.example.controllers.IndexController" %>

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
    <head>
        <title>Spring Test Page</title>
    </head>
    <body>
        <p>${someAttribute}</p>
    </body>
</html>

Beginnen Sie mit Jetty

Verwenden Sie für Erwachsene Jetty anstelle von Tomcat. In Ultimate (kostenpflichtige Version) von IntelliJ IDEA scheint Tomcat standardmäßig integriert zu sein (?). Da es sich jedoch um eine Community handelt, kann es ohnehin nicht verwendet werden. Jetty muss nicht im Voraus installiert werden, daher ist es einfach.

Unter Bezugnahme auf http://zetcode.com/spring/jetty/ habe ich pom.xml Folgendes hinzugefügt.


   <packaging>war</packaging>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>3.2.2</version>
            </plugin>
            <plugin>
                <groupId>org.eclipse.jetty</groupId>
                <artifactId>jetty-maven-plugin</artifactId>
                <version>9.4.14.v20181114</version>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.8</source>
                    <target>1.8</target>
                    <encoding>UTF-8</encoding>
                </configuration>
            </plugin>
        </plugins>
    </build>

In diesem Staat

mvn jetty:run

Wenn Sie durch Ausführen auf "http: //0.0.0.0: 8080" zugreifen, wird Hello World sicher angezeigt.

スクリーンショット 2020-06-28 19.37.48.png

Wenn Sie die Quell- und Zielversion nicht mit dem Maven-Compiler-Plugin angeben, scheint es 5 zu sein, und es tritt ein Fehler auf. http://orionb312.hatenablog.com/entry/2018/03/06/233734

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project spring-sample: Compilation failure: Compilation failure: 
[ERROR]Quelloption 5 wird derzeit nicht unterstützt. Bitte verwenden Sie 7 oder höher.
[ERROR]Zieloption 5 wird derzeit nicht unterstützt. Bitte verwenden Sie 7 oder höher.

Ende

Das fertige Produkt ist unten. https://github.com/sekikatsu36/spring-sample

Vorerst konnte ich bestätigen, dass der Frühling funktioniert. Ich möchte ein bisschen mehr tun.

Recommended Posts

Erstellen Sie eine Hello World-Webanwendung mit Spring Framework + Jetty
Erstellen Sie einen Web-API-Server mit Spring Boot
Spring5 MVC-Webanwendungsentwicklung mit Visual Studio-Code Hello World Creation
Hallo Welt mit Spring Boot
Hallo Welt mit Spring Boot!
Hallo Welt mit Spring Boot
Hallo Welt, mit Asakusa Framework!
Hallo Welt (Konsolen-App) mit Apache Camel + Spring Boot 2
Erstellen Sie eine App mit Spring Boot 2
Bis "Hallo Welt" mit Spring Boot
(Intellij) Hallo Welt mit Spring Boot
Erstellen Sie eine App mit Spring Boot
Erstellen Sie PDF mit itext7 ~ HelloWorld ~
[Swift] Erstellen Sie ein Projekt mit Xcode (Version 12.1) und zeigen Sie "Hallo Welt!"
[Rails6] Erstelle eine neue App mit Rails [Anfänger]
Erstellen Sie mit Dropwizard eine einfache Webanwendung
Hallo Welt mit Eclipse + Spring Boot + Maven
Erstellen Sie mit Spring Batch eine einfache On-Demand-Charge
[Rails 5] Erstelle eine neue App mit Rails [Anfänger]
Wie Spring Security mit Hello World funktioniert
(IntelliJ + gradle) Hallo Welt mit Spring Boot
Erstellen Sie mit dem Befehl cURL + tar ein Spring Boot-App-Entwicklungsprojekt
Spring Boot2-Webanwendungsentwicklung mit Visual Studio Code Hello World-Erstellung
Erstellen Sie eine Website mit Spring Boot + Gradle (jdk1.8.x)
Hallo Welt! Mit Spring Boot (Marven + Texteditor)
Hallo Welt mit explosiver Geschwindigkeit mit Spring Initializr! !! !!
Lassen Sie uns mit Java ein supereinfaches Webframework erstellen
[Java] Hallo Welt mit Java 14 x Spring Boot 2.3 x JUnit 5 ~
Zeigen Sie eine einfache Hallo Welt mit SpringBoot + IntelliJ
Versuchen Sie, Hallo Welt mit Frühling + Gradle anzuzeigen
Erstellen Sie ein WEB-System mit Spring + Doma + H2DB
Erstellen Sie mit Docker eine Spring Boot-Entwicklungsumgebung
Hallo Welt mit Java Servlet und JSP (Einfacher Start des Webservers mit Maven + Jetty)
Hello World, eine plattformübergreifende GUI-App mit Groovy, die auf der Java-Plattform ausgeführt wird
Lassen Sie uns eine TODO-Anwendung mit Java 2 erstellen. Ich möchte eine Vorlage mit Spring Initializr erstellen und eine Hello-Welt erstellen
Hallo Welt mit Micronaut
Erstellen Sie ein WEB-System mit Spring + Doma + H2DB + Thymeleaf
Hallo Welt (REST API) mit Apache Camel + Spring Boot 2
Erstellen Sie eine Chat-App mit WebSocket (Tyrus) + libGDX + Kotlin
Erstellen Sie Restapi mit Spring Boot (bis zum Ausführen der App)
Erstellen Sie mit Spring Security 2.1 eine einfache Demo-Site mit Spring Security
Hallo Welt Vergleich zwischen Spark Framework und Spring Boot
Erstellen Sie ein WEB-System mit Spring + Doma + H2DB Part 2
[Rails] Ich habe versucht, eine Mini-App mit FullCalendar zu erstellen
Die erste WEB-Anwendung mit Spring Boot-Making a Pomodoro Timer-
Hallo Welt mit VS Code!
Erstellen Sie mit SpringBoot + JPA + Thymeleaf ein einfaches CRUD ~ ~ Hallo Welt ~
Ich habe mit Gem in Ruby nach einem Webframework gesucht
Erstellen Sie einen Spielplatz mit Xcode 12
Bis Sie eine Webanwendung mit Servlet / JSP erstellen (Teil 1)
Erstellen Sie mit Spring Boot einen Mikrodienst
Einführung von Spring Boot2, einem Java-Framework für die Webentwicklung (für Anfänger)
Hallo Welt mit SpringBoot / Gradle
Erstellen Sie eine Spring Boot-Webanwendung, die IBM Cloudant verwendet, und stellen Sie sie in Cloud Foundry bereit
Erstellen Sie einen einfachen Webserver mit der Java-Standardbibliothek com.sun.net.httpserver
Erstellen wir eine Buchverwaltungs-Webanwendung mit Spring Boot part1
Erstellen Sie eine Memo-App mit Tomcat + JSP + Servlet + MySQL mit Eclipse
Lassen Sie uns mit Spring Boot part3 eine Webanwendung für die Buchverwaltung erstellen
Erstellen Sie eine JVM für die App-Verteilung mit JDK 9-Modulen und jlink
Lassen Sie uns mit Spring Boot part2 eine Webanwendung für die Buchverwaltung erstellen