Wie erstellt man eine Website in Java? Im ersten Schritt zeigt das Ergebnis nur eine HTML-Seite an. Dieser Artikel zielt darauf ab, einen Webserver zu betreiben und in einem Browser anzuzeigen. Wenn es funktioniert, halte ich es für eine gute Idee, Korrekturen vorzunehmen und sich daran zu erinnern.
Im August 2020 haben wir den Betrieb mit folgenden Anforderungen bestätigt.
Der hier verwendete Beispielcode finden Sie unter GitHub.
Terminal
$ mkdir -p helloworld; cd $_
Terminal
$ gradle init
Von hier aus werden wir interaktiv vorgehen. Wählen Sie daher Folgendes aus.
Damit ist die Initialisierung des Gradle-Projekts abgeschlossen.
Terminal
$ git clone https://github.com/ryoyakawai/java_gradle_springboot_helloworld.git
Terminal
$ cd java_gradle_springboot_helloworld
$ gradle bootRun
Wenn Sie es fehlerfrei starten, sollte im Terminal Folgendes angezeigt werden:
Terminal
> Task :bootRun
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.2.0.RELEASE)
2020-08-18 15:47:55.672 INFO 64412 --- [ main] c.e.helloworld.HelloworldApplication : Starting HelloworldApplication on S1031198.local with PID 64412 (/..../java_gradle_springboot_helloworld/build/classes/java/main started by ryoya.kawai in /..../java_gradle_springboot_helloworld)
2020-08-18 15:47:55.674 INFO 64412 --- [ main] c.e.helloworld.HelloworldApplication : No active profile set, falling back to default profiles: default
2020-08-18 15:47:56.180 INFO 64412 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2020-08-18 15:47:56.187 INFO 64412 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat]
2020-08-18 15:47:56.187 INFO 64412 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.27]
2020-08-18 15:47:56.228 INFO 64412 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext
2020-08-18 15:47:56.229 INFO 64412 --- [ main] o.s.web.context.ContextLoader : Root WebApplicationContext: initialization completed in 527 ms
2020-08-18 15:47:56.323 INFO 64412 --- [ main] o.s.s.concurrent.ThreadPoolTaskExecutor : Initializing ExecutorService 'applicationTaskExecutor'
2020-08-18 15:47:56.422 INFO 64412 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path ''
2020-08-18 15:47:56.424 INFO 64412 --- [ main] c.e.helloworld.HelloworldApplication : Started HelloworldApplication in 1.139 seconds (JVM running for 1.368)
<=========----> 75% EXECUTING [10s]
> :bootRun
Überprüfen Sie den Betrieb hier im Browser.
Wenn Sie mit einem Browser auf "http: // localhost: 8080" zugreifen und Folgendes angezeigt wird, bedeutet dies, dass es normal als Webserver arbeitet.
Dies ist die Dateistruktur unmittelbar nach dem Klonen in "1.3. Beispielcode klonen". Ich habe einige Änderungen vorgenommen, nachdem ich "1.2. Gradle-Projekt initialisieren" in dem Teil ausgeführt habe, in dem die Erklärung auf der rechten Seite der Datei und des Verzeichnisses in der folgenden Abbildung steht.
├── build.gradle (Muss geändert werden: Gradle-Konfigurationsdatei)
├── settings.gradle
└── src
├── main
│ ├── java
│ │ └── helloworld (Folgendes muss geändert werden: Programmcode)
│ │ ├── HelloworldApplication.java
│ │ ├── HelloworldController.java
│ │ ├── HelloworldErrorController.java
│ │ └── HelloworldServletInitializer.java
│ ├── resources
│ │ ├── application.yml (Muss geändert werden)
│ │ ├── static
│ │ │ └── assets (Folgendes wird neu erstellt)
│ │ │ └── sample-300x300.jpg
│ │ └── templates
│ │ ├── error.html (Muss geändert werden: HTML)
│ │ └── helloworld.html (Muss geändert werden: HTML)
│ └── webapp
│ └── WEB-INF
│ └── appengine-web.xml
└── test
└── java
└── helloworld
└── HelloworldApplicationTests.java (Muss geändert werden: Testdatei)
--build.gradle
: Schreiben Sie die Build-Einstellungen. Änderungen sind nach Bedarf erforderlich.
--settings.gradle
: Beschreiben Sie den Projektnamen, der als Einstiegspunkt dienen soll.
src> main> java> helloworld
Die folgenden Dateien--HelloworldApplication.java
: Erklärt die Verwendung des Spring Boot-Frameworks.
--HelloworldController.java
: Controller-Klasse. Es wird hauptsächlich beschrieben, auf welchen Pfad zugegriffen wird und was angezeigt wird.
--HelloworldErrorController.java
: Eine Klasse, die Anwendungsfehler behandelt. Es muss entsprechend geändert werden.
--HelloworldServletInitializer.java
: WebApplicationInitializer-Implementierungsklasse, die in der Umgebung erforderlich ist, in der die WAR-Datei bereitgestellt und betrieben wird. (Obwohl es existiert, wird es hier nicht in der Operation verwendet und ist ursprünglich nicht notwendig)
src> main> resources
Die folgenden DateienPlatzieren Sie HTML-Dateien usw. in diesem Verzeichnis.
--application.yml
: Die YML-Datei, die die Nachricht definiert.
--templates> error.html
: HTML, das angezeigt wird, wenn ein Fehler auftritt.
--templates> helloworld.html
: HTML, das während des normalen Betriebs angezeigt wird.
--static> Assets
: Bilder sollten hier platziert werden.
References
Recommended Posts