Eine grobe Erklärung der Funktionsweise von Java-Webanwendungen

Einführung

Ich bin vor einigen Monaten als unerfahrene Person zu einem IT-Unternehmen gekommen. Ich habe ungefähr zwei Monate damit verbracht, eine Webanwendung mit Java in der Schulung zu entwickeln. Ich werde kurz zusammenfassen, was ich gelernt habe. Ich denke, es gibt viele Fehler, daher wäre es hilfreich, wenn Sie immer mehr darauf hinweisen könnten. ** * Entwicklungsmethode und -verfahren sind nicht geschrieben. Es beschreibt grob die Begriffe und das Gesamtbild, die für das Wissen notwendig sind. ** ** **

Ziel

Webclient und Webserver

Zunächst wird die Webseite, die Sie in Ihrem Browser anzeigen, von Computern (Software) mit den Namen ** Client ** und ** Server ** realisiert.

Webclient

Ein Computer (Software), der einen Dienst von einem Server anfordert und vom Server mit diesem Dienst bereitgestellt wird, wird als Client bezeichnet. Ein Webclient, der durch Zugriff auf eine auf einem Webserver gespeicherte Webseite verwendet werden kann, wird als Webclient bezeichnet. Sie können sich einen Webclient als Browser wie Chrome oder IE vorstellen.

Webserver

Ein Computer (Software), der einem Client als Antwort auf eine Anforderung des Clients einen Dienst oder eine Funktion bereitstellt, wird als Server bezeichnet. Zu den Servern gehören Webserver, Mailserver, Datenbankserver, Anwendungsserver usw. Ein Server, der auf den Zugriff von einem Webclient aus reagiert, wird als Webserver bezeichnet. Apache, IIS, Nginx usw. sind bekannte Webserver-Software.

スクリーンショット 2018-10-01 22.32.10.png

Ablauf der Anzeige einer Webseite

Nun, wie man die Webseite anzeigt, Wenn ein Nutzer beispielsweise etwas bei Google suchen möchte, wird das URL-Feld im Browser angezeigt Sie können darauf zugreifen, indem Sie "https: // www.google.com" eingeben. Wenn Sie tatsächlich darauf zugreifen, wird die Google-Seite sofort angezeigt. Wenn Sie sie jedoch zwischen dem Client und dem Server betrachten, Die folgenden Interaktionen treten auf, wenn ein Nutzer versucht, auf eine Google-Seite zuzugreifen: スクリーンショット _流れ2.png

** 1. Webclient sendet Anforderungsnachricht an Webserver ** ** 2. Basierend auf dieser Nachricht bereitet der Webserver die vom Webclient angeforderte Webseite vor ** ** 3. Der Webserver sendet eine Antwortnachricht an den Webclient und die Webseite wird angezeigt ** Die hier gesendeten und empfangenen Nachrichten werden über ein Protokoll namens ** HTTP ** ausgetauscht.

Protokoll

Ein Protokoll ist einfach eine Regel, wenn Computer miteinander interagieren. Wenn Sie beispielsweise zwischen Japanern sprechen, entspricht dies dem Sprechen in der Sprache (Regel) des Japanischen. Wenn ein Webclient und ein Webserver kommunizieren, senden und empfangen sie mithilfe eines Protokolls (einer Regel) namens HTTP. Auf diese Weise können Sie die Webseite auf der Clientseite durchsuchen. Ein bloßer Webserver kann jedoch nur eine statische Webseite anzeigen. Um eine dynamische Webseite anzuzeigen, ist eine Software zur Ausführung des Prozesses erforderlich. Darüber hinaus gibt es zwei Arten von Anforderungsnachrichten, die vom Client an den Webserver gesendet werden: ** GET ** und ** POST **. Diese müssen ordnungsgemäß verwendet werden, um eine dynamische Webseite zu erstellen. .. Vergleichen wir zunächst eine statische Webseite mit einer dynamischen Webseite, bevor wir die Software, GET und POST erläutern.

Statischer und dynamischer Inhalt

Statische Webseite

Bei der Anzeige einer statischen Webseite, wie in der Abbildung unten gezeigt, die vom Webclient an den Webserver angeforderte Webseite Da es als Antwort an den Webclient zurückgegeben wird, wird derselbe Seiteninhalt zurückgegeben, unabhängig davon, wie oft Sie ihn anfordern. Mit anderen Worten, ein Bild, das die zuvor auf dem Webserver gespeicherte HTML-Datei zurückgibt. スクリーンショット_静的なページ.png

Dynamische Webseite

Beim Anzeigen einer dynamischen Webseite fordert der Webclient den Webserver und an Ich mache etwas und sende dann die Webseite an den Webclient zurück. Mit anderen Worten, ein Bild, das HTML-Text generiert, indem eine Verarbeitung (Programm) auf der Webserverseite ausgeführt wird. Im Fall des folgenden Bildes lautet der angezeigte Inhalt der Webseite, auf die Sie gerade zugegriffen haben, "Hallo Welt!". Sie können den Anzeigeinhalt der Webseite in "Qiita" ändern, indem Sie "Qiita" in das Eingabeformular eingeben und die Taste drücken. スクリーンショット_動的なページ4.png

Auf diese Weise ist eine Art Verarbeitung (Programm) erforderlich, um eine dynamische Webseite zu realisieren. Software, die das Programm ausführt, ist erforderlich, um den Prozess auszuführen. Diese Art der Verarbeitung wird in C-Sprache und Programmiersprachen wie PHP und Java implementiert.

Ablauf der Anzeige dynamischer Webseiten

Früher habe ich den Ablauf der Anzeige einer Webseite erklärt, mich aber auf die Anzeige einer dynamischen Webseite konzentriert (Ausführung eines Programms). Ich möchte den Ablauf der Anzeige einer Webseite erläutern.

Führen Sie die Anwendung auf dem Webserver aus

Wenn Sie beispielsweise eine Webseite in PHP implementieren, verfügt der Webserver beispielsweise nicht über ein Modul zum Ausführen von PHP-Dateien. Erweitern Sie den Webserver, indem Sie das PHP-Ausführungsmodul in den Webserver einbetten. Wenn Ihr Webserver Apache verwendet, fügen Sie ein PHP-Ausführungsmodul namens mod_php5 hinzu, um PHP-Skripte auszuführen. Dadurch wird eine HTML-Datei auf dem Webserver generiert und an den Client zurückgegeben. Das heißt, der Fluss ist wie folgt. ** 1. Webclient sendet Anforderungsnachricht an Webserver ** ** 2. Führen Sie basierend auf dieser Nachricht die Anwendung mit dem im Webserver integrierten Modul aus. ** ** 3. Die ausgeführte Anwendung generiert HTML-Text ** ** 4. Der Webserver sendet eine Antwortnachricht an den Webclient und die Webseite wird angezeigt ** スクリーンショット_流れ_php.png

Führen Sie die Anwendung auf dem Anwendungsserver aus

Wenn Sie als Beispiel eine Webseite in Java implementieren möchten, bereiten Sie als Nächstes einen Anwendungsserver vor. Der Anwendungsserver ist die Software zum Ausführen von Anwendungen Einige der bekanntesten Java-Anwendungsserver sind ** Tomcat **, Jetty und Glass Fish. Der hier vorbereitete Anwendungsserver unterscheidet sich vom Webserver und kann daher nicht einfach ausgetauscht werden. Ermöglichen der Kommunikation zwischen dem Webclient und dem Webserver über das HTTP-Protokoll Es ist ein Protokoll erforderlich, um auch die Kommunikation zwischen dem Webserver und dem Anwendungsserver zu ermöglichen. Wenn der Webserver ** Apache ** und der Anwendungsserver ** Tomcat ** ist Apache bietet ein Kooperationsmodul namens ** mod_jk **, das als Erweiterung von Apache enthalten ist. Das Kooperationsmodul ** mod_jk ** verwendet ein Protokoll namens ** ajp13 **, um die Kommunikation zwischen dem Webserver und dem Anwendungsserver zu realisieren. Tomcat verfügt übrigens auch über einen einfachen Webserver, sodass Sie dynamische Webseiten ohne Kooperation anzeigen können. Durch Ermöglichen der Kommunikation zwischen dem Webserver und dem Anwendungsserver erreichen Anforderungen vom Webclient den Anwendungsserver. HTML-Text wird durch Ausführen der Verarbeitung basierend auf der Nachricht generiert. Mit anderen Worten ist der Fluss wie folgt. ** 1. Der Webclient sendet eine Anforderungsnachricht über das HTTP-Protokoll an den Webserver. ** ** 2. Der Webserver sendet eine Anforderungsnachricht unter Verwendung des Ajp13-Protokolls an den Anwendungsserver (Tomcat). ** ** 3. Der Anwendungsserver führt die Anwendung basierend auf der Nachricht aus ** ** 4. Die ausgeführte Anwendung generiert HTML-Text ** ** 5. Der Anwendungsserver sendet eine Antwortnachricht unter Verwendung des Ajp13-Protokolls an den Webserver. ** ** 6. Der Webserver sendet über das HTTP-Protokoll eine Antwortnachricht an den Webclient und die Webseite wird angezeigt ** スクリーンショット_流れ_java.png Auf diese Weise kann eine dynamische Webseitenanzeige mithilfe von Modulen und Anwendungsservern realisiert werden. Als nächstes werde ich erklären, welche Art von Anwendung ausgeführt wird, um eine HTML-Datei mit Java zu generieren.

Servlet

Ein Servlet ist ein in Java geschriebenes Programm, das Webinhalte wie HTML generiert und von einem Anwendungsserver wie Tomcat ausgeführt wird. Ich habe tatsächlich ein einfaches Servlet namens "ServletController.java" erstellt, wie unten gezeigt.

ServletController.java


import java.io.IOException;
import java.io.PrintWriter;

import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/ServletController")
public class ServletController extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public ServletController() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//Zeichencodeeinstellung
		response.setContentType("text/html; charset=UTF-8");

        //HTML zum Senden an den Client
		PrintWriter out = response.getWriter();
		out.println("<html>");

		//Header
		out.println("<head>");
		out.println("<title>");
		out.println("Test");
		out.println("</title>");
		out.println("</head>");

		//Körper
		out.println("<body>");

		out.println("<h1>");
		out.println("Dynamische Webseite");
		out.println("</h1>");

		out.println("<p>");
		out.println("Dies ist der Webinhalt, der von dem von Tomcat ausgeführten Servlet generiert wird.");
		out.println("</p>");

		out.println("</body>");
		out.println("</html>");
        out.close();
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		doGet(request, response);
	}

}

Durch Ausführen dieses Servlets kann die folgende Webseite im Browser angezeigt werden. スクリーンショット_サーブレット2.png Diese Webseite kann übrigens nicht geändert werden, sodass Sie möglicherweise das Gefühl haben, dass es sich um eine statische Webseite handelt. Nach der Anforderung vom Webclient wird die auf dem Webserver gespeicherte HTML-Datei nicht so angezeigt, wie sie ist. Dies ist eine dynamische Webseite, da der Anwendungsserver die Java-Datei ausführt, um den HTML-Text zu generieren und im Browser anzuzeigen.

GET und POST

Als Nächstes erklären wir, wie der Anzeigeinhalt geändert wird, wie auf der dynamischen Webseite (statischer Inhalt und Browserbild im dynamischen Inhalt) im obigen Beispiel. Auf der dynamischen Webseite im obigen Beispiel habe ich die Zeichen von "HelloWorld!" In "Qiita" geändert. Wie im Ablauf der Anzeige einer Webseite gezeigt, kann der Webclient nur eine Anforderungsnachricht senden, um Informationen an den Webserver zu senden. Mit anderen Worten, um den Anzeigeinhalt der Webseite zu ändern, muss die Anforderungsnachricht mit Parametern (willkürlichen Werten) gesendet werden. Daher gibt es zwei Arten von Übertragungsmethoden für Anforderungsnachrichten: GET und POST. Vergleichen wir also, wie diese Parameter haben.

Wir haben eine einfache Webseite vorbereitet, auf der Sie eine Anforderungsnachricht per GET oder POST senden können, wie unten gezeigt. Die URL beim Zugriff auf diese Webseite lautet übrigens "192.168.56.101 / Test / TestController". スクリーンショット_GETPOST1.png

GET Versuchen Sie zunächst, die Anforderungsnachricht mit GET und dem Parameter "Qiita" zu senden. スクリーンショット_GETPOST6.png Natürlich wurde der Teil, der als "Hallo Welt!" Angezeigt wurde, in "Qiita" geändert. Gleichzeitig wurde die URL von "192.168.56.101 / Test / TestController" in "192.168.56.101/Test/TestController? InputText = Qiita" geändert. Mit anderen Worten, wenn Sie GET als Methode zum Senden der Anforderungsnachricht verwenden, werden die gesendeten Parameter in die URL eingebettet und erreichen den Webserver. Übrigens ist in diesem Fall "inputText" der Schlüssel und "Qiita" der Wert für diesen Schlüssel. POST Versuchen Sie als nächstes, die Anforderungsnachricht mit POST und dem Parameter "Qiita" zu senden. スクリーンショット_GETPOST7.png Natürlich wurde der Teil, der als "Hallo Welt!" Angezeigt wurde, in "Qiita" geändert, aber Im Gegensatz zu GET bleibt die URL "192.168.56.101 / Test / TestController". Mit anderen Worten, wenn POST als Methode zum Senden der Anforderungsnachricht verwendet wird, sind die gesendeten Parameter nicht in der URL enthalten, sondern in der Anforderungsnachricht und erreichen den Webserver.

Richtige Verwendung von GET und POST

Betrachten Sie ein reales Beispiel. Wenn Sie zu Googlehttps: // www.google.com gehen und "Qiita" in das Suchwort eingeben, Auf das URL-Feld im Browser wird als "https: //www.google.com/search? Hl = ja & q = Qiita" zugegriffen. Mit anderen Worten, die Google-Suche sendet eine Anforderungsnachricht mit GET. Wenn Sie mit GET senden, können Sie einfach wieder darauf zugreifen, indem Sie ein Lesezeichen setzen, wenn Sie diese Seite später wieder sehen möchten. Es ist besser, GET zu verwenden, wenn es nicht viele Probleme gibt, auch wenn andere Personen die Suchbedingungen sehen und es bequem ist, jeden Parameter zu speichern. Umgekehrt sollte POST verwendet werden, um Inhalte zu senden und darauf zuzugreifen, die von Menschen nicht gesehen werden sollten, oder um die Datenbank neu zu schreiben. Nachfolgend finden Sie eine kurze Zusammenfassung der Unterschiede.

GET Anfrage POST-Anfrage
Zu verwendende Methode GET POST
Speicherort der Parameter URL Nachrichtentext
Sicherheit Niedrig Relativ teuer
Parameterlänge Bis zu 255 Zeichen in älterer Software Keine Begrenzung
Parameter speichern und reproduzieren Es ist einfach zu machen Schwer zu machen

Beziehung zwischen Servlet und GET / POST

In Bezug darauf, welche Art der Verarbeitung auf der Anwendungsseite durch Senden der Anforderungsnachricht entweder durch GET oder POST erfolgt, Wie Sie sehen können, sehen Sie sich den Quellcode des Servlets früher an In der ServletController-Klasse gab es Methoden ** doGet ** und ** doPost **. Wenn die Anforderungsnachricht von GET gesendet wird, wird die doGet-Methode implementiert und Wenn die Anforderungsnachricht per POST gesendet wird, wird die doPost-Methode implementiert, um den HTML-Text zu generieren.

So senden Sie GET und POST

Lassen Sie uns überprüfen, welcher HTML-Text tatsächlich für die Anzeige der Webseite generiert wurde. Der HTML-Text beim Zugriff auf 192.168.56.101 / Test / TestController lautet wie folgt.

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
	<h1>Dynamische Webseite</h1>
	<p>Senden Sie Parameter mit GET</p>
	<form action="TestController" method="get">
		<input type="text" name="inputText" >
		<button type="submit">Zeichenänderung(GET)</button>
	</form>
	<p>Senden Sie die Parameter per POST</p>
	<form action="TestController" method="post">
		<input type="text" name="inputText" >
		<button type="submit">Zeichenänderung(POST)</button>
	</form>
	<p>HelloWorld!</p>

</body>
</html>

In Bezug auf "Aktion" und "Methode", die im Formular-Tag angegeben sind, Aktion gibt an, welche Klassendatei (.java) ausgeführt werden soll. Methode gibt an, wie die Anforderungsnachricht gesendet werden soll (get oder post). Mit anderen Worten, wenn Sie auf der Clientseite in einem Formular-Tag auf die Schaltfläche "Senden" klicken, wird eine Anforderungsnachricht an den Webserver gesendet. Die Methode "doGet" oder "doPost" der in Aktion angegebenen Klasse wird ausgeführt. Wenn zu diesem Zeitpunkt ein Parameter gesendet werden soll, wird der Parameter ebenfalls gesendet. In diesem Fall ist der Name des Eingabe-Tags der Schlüssel "inputText" und die eingegebene Zeichenfolge wird als Wert "Qiita" gesendet. Und das Servlet für 192.168.56.101 / Test / TestController sieht folgendermaßen aus:

TestController.java


package controller;

import java.io.IOException;

import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.annotation.WebServlet;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

@WebServlet("/TestController")
public class TestController extends HttpServlet {
	private static final long serialVersionUID = 1L;

    public TestController() {
        super();
    }

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//Zeichencodeeinstellung
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");

        //Festlegen der in JSP verwendeten Parameter
		if(request.getParameter("inputText") != null) {
			request.setAttribute("inputText", request.getParameter("inputText"));
		}

		//Seitennavigation
		ServletContext context = this.getServletContext();
		RequestDispatcher dispatcher = context.getRequestDispatcher("/TestView");
		dispatcher.forward(request, response);
	}

	protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		//Zeichencodeeinstellung
		request.setCharacterEncoding("UTF-8");
		response.setCharacterEncoding("UTF-8");

        //Festlegen der in JSP verwendeten Parameter
		if(request.getParameter("inputText") != null) {
			request.setAttribute("inputText", request.getParameter("inputText"));
		}

		//Seitennavigation
		ServletContext context = this.getServletContext();
		RequestDispatcher dispatcher = context.getRequestDispatcher("/TestView");
		dispatcher.forward(request, response);
	}

}

Sie müssen den Inhalt dieser Quelldatei überhaupt nicht im Detail verstehen, aber bitte beachten Sie dies Es gibt keinen Prozess zum Ausgeben von HTML-Tags usw., wie in ServletController.java beschrieben. Dieser Prozess muss nicht beschrieben werden, da ** Servlet ** und ** JSP ** Rollen gemeinsam nutzen und zusammenarbeiten.

JSP Eine JSP ist einfach ein eingebetteter Java-Code im HTML-Format. Eine effiziente Entwicklung kann erreicht werden, indem die Verarbeitung zwischen dem Servlet, das die Verarbeitung ausführt, und der JSP, die sie anzeigt, geteilt wird. Unten finden Sie die JSPTestView.jsp, die vom zuvor erwähnten Servlet TestController.java aufgerufen wird.

TestView.jsp


<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
	<h1>Dynamische Webseite</h1>
	<p>Senden Sie Parameter mit GET</p>
	<form action="TestController" method="get">
		<input type="text" name="inputText" >
		<button type="submit">Zeichenänderung(GET)</button>
	</form>
	<p> </p>
	<p>Senden Sie die Parameter per POST</p>
	<form action="TestController" method="post">
		<input type="text" name="inputText" >
		<button type="submit">Zeichenänderung(POST)</button>
	</form>
	<p>
	<%
	if(request.getAttribute("inputText") == null){
		out.println("HelloWorld!");
	}else{
		out.println(request.getAttribute("inputText"));
	}
	%>
	</p>
</body>
</html>

Da JSP im HTML-Format vorliegt, wird beim Einbetten von Java-Code Wir werden es in das Tag "<% ...%>" aufnehmen. Um Zeichen auf einer Webseite auszugeben, geben Sie die Zeichenfolge ein, die Sie im Argument out.println (); anzeigen möchten. Außerdem können Sie eine Zeichenfolge mit <% = Variable%> ausgeben. Wenn Sie eine externe Datei mit CSS oder JavaScript lesen möchten, füllen Sie den Header-Teil sowie HTML aus.

Auf diese Weise ist es einfacher zu entwickeln, indem die Rollen des für die Verarbeitung zuständigen Servlets und der für die Anzeige zuständigen JSP getrennt werden. Wenn Sie jedoch Webanwendungen beim Speichern und Verwalten von Daten verarbeiten möchten, können Sie diese nicht effizient entwickeln, indem Sie sie einfach in Servlets und JSPs aufteilen. Sie benötigen einen Server, auf dem große Datenmengen gespeichert und verwaltet werden können. Der Server, der diese große Datenmenge speichern und verwalten kann, ist der ** Datenbankserver **. MySQL, Oracle DataBase, PostgreSQL usw. sind bekannte Datenbankserversoftware. Durch die Verwendung eines solchen Datenbankservers ist es möglich, eine große Anzahl von Datenbanken über eine Webanwendung zu verwalten. Bei der Entwicklung einer Webanwendung unter Verwendung der großen Datenbankmenge kann eine Entwicklungsmethode namens ** MVC-Modell ** verwendet werden, um eine umfangreiche Entwicklung effizient durchzuführen.

MVC-Modell

Das MVC-Modell entwickelt Anwendungssoftware, indem es in drei Rollen unterteilt wird: ** Modell **, ** Ansicht ** und ** Controller **. Ich werde jeden von ihnen kurz erklären. Model Das Modell ist für die Bearbeitung des Antrags verantwortlich. Verwalten Sie beispielsweise Daten, greifen Sie auf Datenbanken zu und verwalten Sie Methoden. Der Prozess wird gemäß der Anweisung der Steuerung ausgeführt. Eine typische Java-Datei ist das Modell. View Die Ansicht ist für die Anzeige der Anwendung verantwortlich. Das Ausgabeergebnis wird von der Steuerung übergeben. Die Ansicht ist eine JSP-Datei, die im HTML-Format geschrieben ist. Controller Der Controller empfängt Informationen von der Ansicht (Bildschirm), ruft das Modell (Prozess und Daten) auf und ist für die Ausgabe des Ergebnisses in die Ansicht verantwortlich. Mit anderen Worten, der Prozess für eine bestimmte Ansicht und der Ablauf eines bestimmten Prozesses werden in einer Steuerung geschrieben. Die Servlet-Klasse ist die Steuerung.

MVC-Modellfluss

Der Verarbeitungsablauf der Anwendung in diese drei Rollen ist wie folgt. ** 1. Client sendet Anforderungsnachricht an Server ** ** 2. Der Controller in der Anwendung wird basierend auf der Anforderungsnachricht ausgeführt und ruft den Modellprozess auf ** ** 3. Das vom Controller aufgerufene Modell greift auf die Datenbank zu oder führt die Verarbeitung aus ** ** 4. Das Modell übergibt das Verarbeitungsergebnis an den Controller ** ** 5. Der Controller weist View an, basierend auf dem Verarbeitungsergebnis auszugeben (HTML-Text generieren) ** ** 6. Der Server sendet eine Antwortnachricht an den Client und die Webseite wird angezeigt ** スクリーンショット_MVC.png Dies ist ein einfacher Ablauf des MVC-Modells. Genau genommen gibt es jedoch Typen wie MVC2, MVP und MVVM, die je nach zu entwickelnder Anwendung entsprechend geändert werden sollten.

Ablauf der gesamten Webanwendung

Basierend auf dem oben Gesagten ist der Gesamtmechanismus einer Webanwendung, die Java verwendet, wie folgt. スクリーンショット_All流れ.png Natürlich gibt es auf der Clientseite Webclients und auf der Serverseite Webserver, Anwendungsserver und Datenbankserver. Installieren Sie beim Erstellen eines Servers einen Webserver, Anwendungsserver, Datenbankserver usw. und führen Sie jeden aus, damit er beim Zugriff auf die Webanwendung normal funktioniert. Wenn Sie eine neue Anwendung hinzufügen, können Sie den Anwendungsserver, auf dem sie ausgeführt wird, installieren, ausführen und erweitern.

Referenz

Yusuke Komori (2010/4/10) "Einführung in die Web-Technologie, um ein Profi zu werden" - Warum können Sie kein Web-System entwickeln? "Technical Review Company

Recommended Posts

Eine grobe Erklärung der Funktionsweise von Java-Webanwendungen
Eine kurze Erklärung von commitAllowingStateLoss
Wie Microservices die Art und Weise der Anwendungsentwicklung verändern
[Grobe Erklärung] So trennen Sie den Betrieb der Produktionsumgebung und der Entwicklungsumgebung mit Rails
Verstehe in 3 Minuten! Eine sehr grobe Erklärung des Unterschieds zwischen Sitzung und Cookie