Je l'ai laissé à l'IDE pendant longtemps et je ne savais pas comment faire Servlet, alors je l'ai construit sur ma propre machine et étudié.
Machine: Macbook Pro OS:MacOS Mojave
En gros, je travaille selon la page suivante, mais comme il y avait beaucoup de parties pour Windows, j'ai arrangé cette zone. https://www.javadrive.jp/servlet/
Décrit comme "/ Users / [nom d'utilisateur macbook] /" = "~ /".
Java est déjà dans la machine, je vais donc l'omettre. La version est ci-dessous.
$java -version
java version "1.8.0_191"
Java(TM) SE Runtime Environment (build 1.8.0_191-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.191-b12, mixed mode)
Puisqu'il s'agit d'un développement personnel, vous pouvez utiliser Java gratuitement. https://java.com/ja/download/
Le contrat de licence Oracle Technology Network pour le nouvel Oracle Java SE est très différent de la précédente licence Oracle Java. La nouvelle licence permet certaines utilisations, telles que l'utilisation personnelle et à des fins de développement, sans frais, mais n'autorise plus d'autres utilisations sous licence sous la licence Oracle Java précédente. Veuillez lire attentivement les conditions avant de télécharger et d'utiliser ce produit.
Je l'ai téléchargé à partir de ce qui suit. http://tomcat.apache.org/
Téléchargez avec la dernière version "9.0.30". Sélectionnez Distributions binaires> Core> zip. Comme il a été écrit dans README comme suit, je l'ai fait zip au lieu de tar. http://us.mirrors.quenda.co/apache/tomcat/tomcat-9/v9.0.30/README.html
NOTE: The tar files in this distribution use GNU tar extensions, and must be untarred with a GNU compatible version of tar. The version of tar on Solaris and Mac OS X will not work with these files.
Décompressez le zip (double-cliquez dessus pour le décompresser) et déplacez-le vers un emplacement facile à comprendre. Dans mon cas, j'ai fait ce qui suit.
Tomcat qui peut être inséré varie en fonction de la version de Java. (Cette fois, j'ai confirmé que Java 8 est installé sur ma machine, j'ai donc installé 9.3.0.90) Voir ci-dessous pour plus de détails. https://tomcat.apache.org/whichversion.html
Il semble plus facile d'utiliser l'homebrew. https://formulae.brew.sh/formula/
Cette fois, je voulais appliquer la variable d'environnement même si j'ouvrais un autre terminal, je l'ai donc définie sur ./bashrc et ./bash_profile. Je n'avais pas ./bashrc ou ./bash_profile sur ma machine, donc je l'ai créé cette fois.
Le lieu de création est le suivant. ~/.bash_profile ~/.bashrc
La création du fichier se fait dans le terminal.
$cd ~/
$touch ./bash_profile
$touch ./bashrc
$ls -la
→ Ici, ".bash_profil "et".OK si "bashrc" apparaît
Modifiez le contenu à l'aide de vim.
$vi .bash_profile
→ Appuyez sur la touche "a" pour passer en mode insertion, puis saisissez le contenu du fichier.
→ Lorsque vous avez terminé, appuyez sur la touche "esc" et cliquez sur ":Appuyez sur "wq". Si vous faites une erreur, ":q!Si vous le faites, il ne sera pas enregistré
$vi .bashrc
→ Idem ci-dessus.
Le contenu de chaque fichier est le suivant.
.bash_profile
# ~/.bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
.bashrc
# EXPORT
export CATALINA_HOME=/Applications/Tomcat/apache-tomcat-9.0.30
# ALIAS
alias ll='ls -la'
Dans le terminal, chargez le dernier contenu défini dans la machine. (Si tu ne fais pas ça, rien ne se passera pour toujours)
$source ~/.bashrc
$source ~/.bash_profile
Pour les paramètres des variables d'environnement, reportez-vous au site suivant https://techracho.bpsinc.jp/hachi8833/2019_06_06/66396 https://qiita.com/hirokishirai/items/5a529c8395c4b336bf31 https://qiita.com/shyamahira/items/260862743e4c9794b5d2
Le site qui fait référence à la procédure dit "Je pense que Tomcat est toujours en cours d'exécution", mais cette fois, il n'y a pas eu de démarrage.
Dans mon cas, créez ci-dessous ~/study/20191222_servlet-sample → Le répertoire créé ici sera la racine de l'application
Sous le répertoire créé, créez un répertoire avec la structure suivante.
[Le répertoire que vous venez de créer]
Le lieu de stockage est le suivant. ~/study/20191222_servlet-sample/helloworld/
[Le répertoire que vous venez de créer]
index.html
<html>
<head>
<title>Examen de la page d'index</title>
<meta charset="utf-8" />
</head>
<body>
<h1>test_haut de page</h1>
</body>
</html>
Je veux que le côté Tomcat reconnaisse le répertoire créé, alors écrivez le fichier de configuration.
Créez un répertoire comme suit. /Applications/Tomcat/apache-tomcat-9.0.30/conf ↓ /Applications/Tomcat/apache-tomcat-9.0.30/conf/Catalina/localhost
[Applications]
Créez hello.xml ci-dessous. /Applications/Tomcat/apache-tomcat-9.0.30/conf/Catalina/localhost/hello.xml
[Applications]
hello.xml
<Context path="/hello" docBase="/Users/[nom d'utilisateur macbook]/study/20191222_servlet-sample/helloworld" />
-Il est nécessaire de faire correspondre le nom xml et le nom du chemin. -Le nom spécifié est donné après le FQDN. * Cette fois, http: // localhost: 8080 / bonjour -Pour docBase, spécifiez le nom du répertoire créé précédemment. → De cette manière, vous pouvez spécifier librement le répertoire racine de l'application dans le fichier de configuration de Tomcat.
Lancez Tomcat via le terminal
$cd $CATALINA_HOME/bin
$./startup.sh
Accédez à l'URL ci-dessous, et si l'index.html créé précédemment est affiché, c'est OK. http://localhost:8080/hello
Quittez Tomcat via le terminal
$cd $CATALINA_HOME/bin
$./startup.sh
Créez HelloWorld.java dans n'importe quel emplacement. Dans mon cas, créez-le ci-dessous. ~/study/20191222_servlet
Le contenu est le même que https://www.javadrive.jp/servlet/context/index1.html.
Compiler.
cd ~/study/20191222_servlet
ls
→ Confirmez que HelloWorld.java existe ici
javac HelloWorld.java
→ Échec de la compilation (il n'y a pas de jar lié aux servlets) Lors de l'utilisation de Servlet, il est nécessaire de spécifier le chemin de classe du fichier jar de servlet et de le compiler. (A l'inverse, vous n'avez rien d'autre à préciser)
javac -classpath $CATALINA_HOME/lib/servlet-api.jar HelloWorld.java
→ Réussir la compilation et terminer rapidement.
Assurez-vous d'avoir le fichier de classe lorsque vous avez terminé. (Vérifiez avec la commande ls ou le Finder)
$ ll
total 16
drwxr-xr-x 4 hoge staff 128 12 25 22:08 .
drwxr-xr-x 5 hoge staff 160 12 25 21:43 ..
-rw-r--r-- 1 hoge staff 894 12 25 22:08 HelloWorld.classe ← ceci
-rw-r--r--@ 1 hoge staff 583 12 25 22:08 HelloWorld.java
Déplacez HelloWorld.Class sous les classes dans le répertoire que vous venez de créer. ~/study/20191222_servlet-sample/helloworld/classes/HelloWorld.class
[Le répertoire que vous venez de créer]
Définissez web.xml pour accéder au fichier de classe placé via une URL. ~/study/20191222_servlet-sample/helloworld/WEB-INF/web.xml
[Le répertoire que vous venez de créer]
Le contenu est le même que https://www.javadrive.jp/servlet/context/index3.html.
web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<servlet>
<servlet-name>helloworld</servlet-name>
<servlet-class>HelloWorld</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>helloworld</servlet-name>
<url-pattern>/helloworld</url-pattern>
</servlet-mapping>
</web-app>
nom de l'article | Contenu |
---|---|
servlet-name | Utilisé uniquement pour les liens en xml |
servlet-class | Écrivez le nom du fichier de classe "HelloWorld" créé précédemment |
url-pattern | Vous pourrez accéder par URL en fonction de la valeur spécifiée |
Par exemple, cette fois, le flux est le suivant.
Lancez Tomcat via le terminal
$cd $CATALINA_HOME/bin
$./startup.sh
Accédez à l'URL ci-dessous, et si le code HTML décrit dans HelloWorld.java créé précédemment est affiché, c'est OK. http://localhost:8080/hello/helloworld
Quittez Tomcat via le terminal
$cd $CATALINA_HOME/bin
$./startup.sh
-C'était assez difficile à compiler, à remettre et à démarrer. J'ai trouvé que c'était très gênant même si je n'en ai compilé qu'une seule cette fois. (Sera-ce moins gênant une fois que vous vous y serez habitué?) Pas étonnant qu'il y ait quelque chose qui se compilerait automatiquement (+ place si nécessaire).