[JAVA] Lancez Servlet + Tomcat localement sur Macbook Pro (éditeur de texte + terminal uniquement)

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é.

supposition

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] /" = "~ /".

Environnement

1. Téléchargement Java

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.

2. Téléchargez Tomcat

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.

  1. Ouvrez "Applications" dans le Finder et créez le répertoire "Tomcat" /Applications/Tomcat
  2. Copiez et collez le fichier décompressé en dessous. /Applications/Tomcat/apache-tomcat-9.0.30

Définissez la variable d'environnement Tomcat "CATALINA_HOME"

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

Vrai travail

3. Affichez index.html

Créez un répertoire à n'importe quel endroit, puis préparez le contenu

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]

Créez index.html.

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>

Paramètres de contexte d'application

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.

Tomcat début, contrôle de fonctionnement, fin

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

4. Affichage du servlet

Créer un fichier HelloWorld.java

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.

Créer HelloWorld.class

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éplacer HelloWorld.class

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écrire les paramètres de mappage dans web.xml

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.

  1. Accédez à l'URL de http: // localhost: 8080 / hello / helloworld
  2. Accédez à HelloWorld.class en définissant web.xml.
  3. Le html décrit précédemment dans HelloWolrd.java est développé et répondu.

Tomcat début, contrôle de fonctionnement, fin

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

Impressions

-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).

Recommended Posts

Lancez Servlet + Tomcat localement sur Macbook Pro (éditeur de texte + terminal uniquement)
Déployer les applications JavaServlet localement dans Tomcat