Comment créer un site Web en Java? Dans la première étape, le livrable n'affichera qu'une seule page HTML. Cet article vise à faire fonctionner un serveur Web et à l'afficher sur un navigateur. Si cela fonctionne, je pense que c'est une bonne idée de faire des corrections et de s'en souvenir.
En août 2020, nous avons confirmé l'opération avec les exigences suivantes.
L'exemple de code utilisé ici peut être trouvé sur GitHub.
Terminal
$ mkdir -p helloworld; cd $_
Terminal
$ gradle init
À partir de là, nous procéderons de manière interactive, alors sélectionnez comme suit.
Ceci termine l'initialisation du projet Gradle.
Terminal
$ git clone https://github.com/ryoyakawai/java_gradle_springboot_helloworld.git
Terminal
$ cd java_gradle_springboot_helloworld
$ gradle bootRun
Si vous le démarrez sans aucune erreur, vous devriez voir ce qui suit dans Terminal:
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
Vérifiez ici le fonctionnement du navigateur.
Si vous accédez à http: // localhost: 8080
avec un navigateur et que ce qui suit est affiché, cela signifie qu'il fonctionne normalement comme un serveur Web.
Il s'agit de la structure de fichier immédiatement après le clonage dans "1.3. Exemple de code de clonage". J'ai fait quelques changements après avoir implémenté "1.2. Initialiser le projet Gradle" dans la partie où l'explication est écrite sur le côté droit du fichier et du répertoire dans la figure ci-dessous.
├── build.gradle (Doit être modifié: fichier de configuration Gradle)
├── settings.gradle
└── src
├── main
│ ├── java
│ │ └── helloworld (Les éléments suivants doivent être modifiés: Code du programme)
│ │ ├── HelloworldApplication.java
│ │ ├── HelloworldController.java
│ │ ├── HelloworldErrorController.java
│ │ └── HelloworldServletInitializer.java
│ ├── resources
│ │ ├── application.yml (Doit être modifié)
│ │ ├── static
│ │ │ └── assets (Ce qui suit est nouvellement créé)
│ │ │ └── sample-300x300.jpg
│ │ └── templates
│ │ ├── error.html (Doit être modifié: HTML)
│ │ └── helloworld.html (Doit être modifié: HTML)
│ └── webapp
│ └── WEB-INF
│ └── appengine-web.xml
└── test
└── java
└── helloworld
└── HelloworldApplicationTests.java (Doit être modifié: fichier de test)
--build.gradle
: écrivez les paramètres de construction. Des modifications sont nécessaires si nécessaire.
--settings.gradle
: Décrivez le nom du projet qui sera le point d'entrée.
src> main> java> helloworld
Les fichiers suivants--HelloworldApplication.java
: déclare utiliser le framework Spring Boot.
--HelloworldController.java
: Classe de contrôleur. Il décrit principalement le chemin d'accès et ce qui est affiché.
--HelloworldErrorController.java
: Une classe qui gère les erreurs d'application. Il doit être modifié en conséquence.
--HelloworldServletInitializer.java
: classe d'implémentation WebApplicationInitializer requise dans l'environnement où le fichier WAR est déployé et exploité. (Bien qu'il existe, il n'est pas utilisé dans l'opération ici et n'est pas nécessaire à l'origine)
src> main> resources
Les fichiers suivantsPlacez les fichiers HTML, etc. dans ce répertoire.
--ʻApplication.yml: fichier YML qui définit le message. --
templates> error.html: HTML à afficher lorsqu'une erreur se produit. --
templates> helloworld.html: HTML à afficher pendant le fonctionnement normal. --
static> assets`: les images doivent être placées ici.
References
Recommended Posts