[JAVA] Starten Sie Servlet + Tomcat lokal auf Macbook Pro (nur Texteditor + Terminal).

Ich habe es lange Zeit der IDE überlassen und wusste nicht, wie man Servlet macht, also habe ich es auf meiner eigenen Maschine gebaut und studiert.

Annahme

Maschine: Macbook Pro OS:MacOS Mojave

Grundsätzlich arbeite ich gemäß der folgenden Seite, aber da es viele Teile für Windows gab, habe ich diesen Bereich angeordnet. https://www.javadrive.jp/servlet/

Beschrieben als "/ Users / [MacBook-Benutzername] /" = "~ /".

Umgebung

1. Java herunterladen

Java ist bereits in der Maschine, daher werde ich es weglassen. Die Version ist unten.

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

Da es sich um eine persönliche Entwicklung handelt, können Sie Java kostenlos verwenden. https://java.com/ja/download/

Die Oracle Technology Network-Lizenzvereinbarung für die neue Oracle Java SE unterscheidet sich stark von der vorherigen Oracle Java-Lizenz. Die neue Lizenz erlaubt bestimmte Verwendungen kostenlos, z. B. für den persönlichen Gebrauch oder für Entwicklungszwecke, erlaubt jedoch keine anderen Verwendungen mehr, die unter der vorherigen Oracle Java-Lizenz lizenziert wurden. Bitte lesen Sie die Bedingungen sorgfältig durch, bevor Sie dieses Produkt herunterladen und verwenden.

2. Laden Sie Tomcat herunter

Ich habe es von folgenden heruntergeladen. http://tomcat.apache.org/

Download mit der neuesten Version "9.0.30". Wählen Sie Binärverteilungen> Kern> Zip. Da es in README wie folgt geschrieben wurde, habe ich es zip anstelle von tar gemacht. 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.

Entpacken Sie die Zip-Datei (doppelklicken Sie darauf, um sie zu entpacken) und verschieben Sie sie an einen leicht verständlichen Ort. In meinem Fall habe ich Folgendes getan.

  1. Öffnen Sie "Anwendungen" im Finder und erstellen Sie das Verzeichnis "Tomcat" /Applications/Tomcat
  2. Kopieren Sie die entpackte Datei und fügen Sie sie darunter ein. /Applications/Tomcat/apache-tomcat-9.0.30

Setzen Sie die Tomcat-Umgebungsvariable "CATALINA_HOME"

Dieses Mal wollte ich die Umgebungsvariable anwenden, auch wenn ich ein anderes Terminal geöffnet habe, also habe ich sie auf ./bashrc und ./bash_profile gesetzt. Ich hatte weder ./bashrc noch ./bash_profile auf meinem Computer, also habe ich es dieses Mal erstellt.

Der Ort der Schöpfung ist wie folgt. ~/.bash_profile ~/.bashrc

Die Dateierstellung erfolgt im Terminal.

$cd ~/
$touch ./bash_profile
$touch ./bashrc
$ls -la
→ Hier ".bash_Profil "und".OK, wenn "bashrc" angezeigt wird

Bearbeiten Sie den Inhalt mit vim.

$vi .bash_profile
→ Drücken Sie die Taste "a", um den Einfügemodus aufzurufen, und geben Sie dann den Inhalt der Datei ein.
→ Wenn Sie fertig sind, drücken Sie die Taste "esc" und klicken Sie auf ":Drücken Sie "wq". Wenn Sie einen Fehler machen, ":q!Wenn Sie dies tun, wird es nicht gespeichert

$vi .bashrc
→ Wie oben.

Der Inhalt jeder Datei ist wie folgt.

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

Laden Sie im Terminal den zuletzt eingestellten Inhalt in die Maschine. (Wenn Sie dies nicht tun, wird nichts für immer passieren)

$source ~/.bashrc
$source ~/.bash_profile

~/study/20191222_servlet-sample

  1. Zeigen Sie index.html an. Erstellen Sie ein Verzeichnis an einem beliebigen Ort und bereiten Sie dann den Inhalt vor. Erstellen Sie es in Ihrem Fall unten → Das hier erstellte Verzeichnis ist das Stammverzeichnis der Anwendung. Unter dem erstellten Verzeichnis wird Folgendes angezeigt Erstellen Sie ein Konfigurationsverzeichnis. [Das Verzeichnis, das Sie gerade erstellt haben]

Erstellen Sie index.html.

Der Lagerort ist wie folgt. ~/study/20191222_servlet-sample/helloworld/

[Das Verzeichnis, das Sie gerade erstellt haben]

index.html


<html>
  <head>
    <title>Indexseitenprüfung</title>
    <meta charset="utf-8" />
  </head>
  <body>
    <h1>test_oberste Seite</h1>
  </body>
</html>

Anwendungskontexteinstellungen

Ich möchte, dass die Tomcat-Seite das erstellte Verzeichnis erkennt. Schreiben Sie daher die Einstellungsdatei.

Erstellen Sie ein Verzeichnis wie folgt. /Applications/Tomcat/apache-tomcat-9.0.30/conf ↓ /Applications/Tomcat/apache-tomcat-9.0.30/conf/Catalina/localhost

[Applications]

Erstellen Sie unten die Datei hello.xml. /Applications/Tomcat/apache-tomcat-9.0.30/conf/Catalina/localhost/hello.xml

[Applications]

hello.xml


<Context path="/hello" docBase="/Users/[MacBook-Benutzername]/study/20191222_servlet-sample/helloworld" />

-Es ist notwendig, den XML-Namen und den Pfadnamen abzugleichen. -Der angegebene Name wird nach dem FQDN angegeben. * Diesmal http: // localhost: 8080 / hallo

Tomcat-Start, Funktionsprüfung, Ende

Starten Sie Tomcat über das Terminal

$cd $CATALINA_HOME/bin
$./startup.sh

Greifen Sie auf die unten stehende URL zu. Wenn die zuvor erstellte index.html angezeigt wird, ist dies in Ordnung. http://localhost:8080/hello

Beenden Sie Tomcat über das Terminal

$cd $CATALINA_HOME/bin
$./startup.sh

4. Servlet anzeigen

Erstellen Sie die Datei HelloWorld.java

Erstellen Sie HelloWorld.java an einem beliebigen Ort. In meinem Fall erstellen Sie es unten. ~/study/20191222_servlet

Der Inhalt entspricht dem von https://www.javadrive.jp/servlet/context/index1.html.

Erstellen Sie HelloWorld.class

Kompilieren.

cd ~/study/20191222_servlet
ls

→ Vergewissern Sie sich, dass HelloWorld.java hier vorhanden ist

javac HelloWorld.java

→ Kompilierung fehlgeschlagen (es gibt kein JAR für Servlets) Bei Verwendung von Servlet muss der Klassenpfad des Servlet-JARs angegeben und kompiliert werden. (Umgekehrt müssen Sie nichts anderes angeben)

javac -classpath $CATALINA_HOME/lib/servlet-api.jar HelloWorld.java

→ Kompilieren erfolgreich und schnell abgeschlossen.

Stellen Sie sicher, dass Sie die Klassendatei haben, wenn Sie fertig sind. (Überprüfen Sie mit ls Befehl oder 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.Klasse ← dies
-rw-r--r--@ 1 hoge  staff  583 12 25 22:08 HelloWorld.java

Verschieben Sie HelloWorld.class

Verschieben Sie HelloWorld.Class unter Klassen in das gerade erstellte Verzeichnis. ~/study/20191222_servlet-sample/helloworld/classes/HelloWorld.class

[Das Verzeichnis, das Sie gerade erstellt haben]

Beschreiben der Zuordnungseinstellungen in web.xml

Stellen Sie web.xml so ein, dass über die URL auf die platzierte Klassendatei zugegriffen wird. ~/study/20191222_servlet-sample/helloworld/WEB-INF/web.xml

[Das Verzeichnis, das Sie gerade erstellt haben]

Der Inhalt entspricht dem von 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>
Artikelname Inhalt
servlet-name Wird nur zum Verknüpfen in XML verwendet
servlet-class Schreiben Sie den zuvor erstellten Klassendateinamen "HelloWorld"
url-pattern Sie können auf der Grundlage des angegebenen Werts über eine URL zugreifen

Diesmal ist der Fluss beispielsweise wie folgt.

  1. Greifen Sie auf die URL von http: // localhost: 8080 / hello / helloworld zu
  2. Greifen Sie auf HelloWorld.class zu, indem Sie web.xml festlegen.
  3. Das zuvor in HelloWolrd.java beschriebene HTML wird erweitert und beantwortet.

Tomcat-Start, Funktionsprüfung, Ende

Starten Sie Tomcat über das Terminal

$cd $CATALINA_HOME/bin
$./startup.sh

Greifen Sie auf die unten stehende URL zu. Wenn das in HelloWorld.java beschriebene HTML angezeigt wird, ist es in Ordnung. http://localhost:8080/hello/helloworld

Beenden Sie Tomcat über das Terminal

$cd $CATALINA_HOME/bin
$./startup.sh

Impressionen

-Es war ziemlich mühsam zu kompilieren, zurückzusetzen und zu starten. Ich fand es sehr mühsam, obwohl ich diesmal nur eine zusammengestellt habe. (Wird es weniger lästig sein, wenn Sie sich daran gewöhnt haben?) Kein Wunder, dass es etwas gab, das automatisch kompiliert wurde (+ bei Bedarf platzieren).

Recommended Posts

Starten Sie Servlet + Tomcat lokal auf Macbook Pro (nur Texteditor + Terminal).
Stellen Sie JavaServlet-Apps lokal in Tomcat bereit