-
Notifications
You must be signed in to change notification settings - Fork 0
/
java-serverlets.html
18 lines (17 loc) · 15.1 KB
/
java-serverlets.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<!DOCTYPE html><html lang="de-ch"><head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width,initial-scale=1"><title>Java Serverlet Container installieren - Finecloud</title><meta name="description" content="Einleitung Das Serverlet-Framework Jakarta EE ermöglicht die Entwicklung von Anwendungen für eine grosse Anzahl paralleler Benutzer die über einen Web-Browser zugreifen. Dazu ist besonders die Serverlet-API von JEE von Interesse. Diese API-Klasse wartet auf eingehende Netzwerkverbindungen und reagiert mit einer entsprechenden Antwort. Für die übertragenen…"><meta name="generator" content="Publii Open-Source CMS for Static Site"><link rel="stylesheet" href="https://www.finecloud.ch/media/plugins/syntaxHighlighter/prism-black.css"><link rel="canonical" href="https://www.finecloud.ch/java-serverlets.html"><link rel="alternate" type="application/atom+xml" href="https://www.finecloud.ch/feed.xml"><link rel="alternate" type="application/json" href="https://www.finecloud.ch/feed.json"><meta property="og:title" content="Java Serverlet Container installieren"><meta property="og:site_name" content="Finecloud"><meta property="og:description" content="Einleitung Das Serverlet-Framework Jakarta EE ermöglicht die Entwicklung von Anwendungen für eine grosse Anzahl paralleler Benutzer die über einen Web-Browser zugreifen. Dazu ist besonders die Serverlet-API von JEE von Interesse. Diese API-Klasse wartet auf eingehende Netzwerkverbindungen und reagiert mit einer entsprechenden Antwort. Für die übertragenen…"><meta property="og:url" content="https://www.finecloud.ch/java-serverlets.html"><meta property="og:type" content="article"><link rel="shortcut icon" href="https://www.finecloud.ch/media/website/finecloud.png" type="image/png"><link rel="stylesheet" href="https://www.finecloud.ch/assets/css/style.css?v=39da73365516a098a9b73b721fc970e2"><script type="application/ld+json">{"@context":"http://schema.org","@type":"Article","mainEntityOfPage":{"@type":"WebPage","@id":"https://www.finecloud.ch/java-serverlets.html"},"headline":"Java Serverlet Container installieren","datePublished":"2022-06-21T10:19","dateModified":"2022-06-27T09:22","description":"Einleitung Das Serverlet-Framework Jakarta EE ermöglicht die Entwicklung von Anwendungen für eine grosse Anzahl paralleler Benutzer die über einen Web-Browser zugreifen. Dazu ist besonders die Serverlet-API von JEE von Interesse. Diese API-Klasse wartet auf eingehende Netzwerkverbindungen und reagiert mit einer entsprechenden Antwort. Für die übertragenen…","author":{"@type":"Person","name":"Finecloud","url":"https://www.finecloud.ch/authors/finecloud/"},"publisher":{"@type":"Organization","name":"Finecloud"}}</script><meta name="google-site-verification" content="seFY9U12uiEq5U3_MyZiX6XWzk0AVFl9zITr2ZKsytY"></head><body><div class="site-container"><header class="top" id="js-header"><a class="logo" href="https://www.finecloud.ch/">Finecloud</a><nav class="navbar js-navbar"><button class="navbar__toggle js-toggle" aria-label="Menu" aria-haspopup="true" aria-expanded="false"><span class="navbar__toggle-box"><span class="navbar__toggle-inner">Menu</span></span></button><ul class="navbar__menu"><li><a href="https://www.finecloud.ch/" target="_self">Blog</a></li><li><a href="https://www.finecloud.ch/tags/" target="_self">Tags</a></li></ul></nav><div class="search"><div class="search__overlay js-search-overlay"><div class="search__overlay-inner"><form action="https://www.finecloud.ch/search.html" class="search__form"><input class="search__input js-search-input" type="search" name="q" placeholder="search..." aria-label="search..." autofocus="autofocus"></form><button class="search__close js-search-close" aria-label="Close">Close</button></div></div><button class="search__btn js-search-btn" aria-label="Search"><svg role="presentation" focusable="false"><use xlink:href="https://www.finecloud.ch/assets/svg/svg-map.svg#search"/></svg></button></div></header><main><article class="post"><div class="hero"><figure class="hero__image hero__image--overlay"><img src="https://www.finecloud.ch/media/website/download.jpg" srcset="https://www.finecloud.ch/media/website/responsive/download-xs.jpg 300w, https://www.finecloud.ch/media/website/responsive/download-sm.jpg 480w, https://www.finecloud.ch/media/website/responsive/download-md.jpg 768w, https://www.finecloud.ch/media/website/responsive/download-lg.jpg 1024w, https://www.finecloud.ch/media/website/responsive/download-xl.jpg 1360w, https://www.finecloud.ch/media/website/responsive/download-2xl.jpg 1600w" sizes="100vw" loading="eager" alt=""></figure><header class="hero__content"><div class="wrapper"><div class="post__meta"><time datetime="2022-06-21T10:19">Juni 21, 2022</time></div><h1>Java Serverlet Container installieren</h1></div></header></div><div class="wrapper post__entry"><div class="post__toc"><h3>Table of Contents</h3><ul><li><a href="#mcetoc_1g62lllju8df">Einleitung</a></li><li><a href="#mcetoc_1g62lllju8dg">Serverlet-Container installieren</a><ul><li><a href="#mcetoc_1g62lllju8dh">Option 1: Manuelle Installation des Tomcat-Servers auf dem eigenen Gerät</a></li><li><a href="#mcetoc_1g62lllju8di">Option 2: Installation des Tomcat-Servers via VSCode</a></li><li><a href="#mcetoc_1g62lllju8dj">(Option 3: Tomcat Docker Image)</a></li></ul></li><li><a href="#mcetoc_1g62lllju8dk">Tomcat mit VSCode einrichten</a></li></ul></div><h2 id="mcetoc_1g62lllju8de"></h2><h2 id="mcetoc_1g62lllju8df">Einleitung</h2><p>Das Serverlet-Framework Jakarta EE ermöglicht die Entwicklung von Anwendungen für eine grosse Anzahl paralleler Benutzer die über einen Web-Browser zugreifen. Dazu ist besonders die Serverlet-API von JEE von Interesse.</p><p>Diese API-Klasse wartet auf eingehende Netzwerkverbindungen und reagiert mit einer entsprechenden Antwort. Für die übertragenen Daten wird fast immer das HTTP (Hypertext Transfer Protocol) verwendet.</p><p>Die Hauptaufgabe eines Serverlets ist von einem Serverprozess aufgerufen zu werden, um in eine Netzwerkverbindung einen Datenstrom zu schreiben, den es auf irgendeine Weise erzeugt hat. Damit ein Serverlet ausgeführt werden kann, braucht es den Serverlet-Container. Das ist ein Programm, das man fertig installiert. Dieses Programm stellt anschliessend ein oder mehrere Serverlets zur Verfügung, die vom Container aufgerufen werden. Ein Serverlet verfügt nicht über eine main-Methode und ist allein nicht funktionsfähig, es kann also auch nicht einfach von der Kommandozeile aus ausgerufen werden.</p><p>Die Aufgaben des Containers sind alle Aufgaben, die nicht mit der Logik der Anwendung zu tun haben. Beispielsweise die Verwaltung der Netzwerkverbindungen, Benutzerberechtigungen und des Speichers. Dazu kann das Serverlet auf die Schnittstellen des Containers zugreifen. Das ermöglicht dem Entwickler sich auf die Anwendung zu konzentrieren. Der Hauptvorteil von Serverlets ist, das diese bereits out-of-the-Box sicherer, performanter und stabiler sind, als wenn man diese Funktionen und Methoden selbst noch neu entwickeln müsste.</p><h2 id="mcetoc_1g62lllju8dg">Serverlet-Container installieren</h2><p>Es gibt eine Vielzahl von Serverlet-Containern. Nicht alle eigenen sich für jeden Anwendungsfall. Wir werden Testeshalber den Apache Tomcat verwenden. Dieser Server, wie auch alle anderen Serverlet-Container sind selbst ein Java-Programm und dadurch unabhängig vom Betriebssystem. <strong>Die Anweisungen hier gelten nur für eine Testumgebung und sind nicht für den produktiven Einsatz als Webserver gedacht.</strong></p><h3 id="mcetoc_1g62lllju8dh">Option 1: Manuelle Installation des Tomcat-Servers auf dem eigenen Gerät</h3><p>Wer sich den manuellen overhead der Installation des Tomcat-Servers antun will, der kann die aktuellste Version des Tomcat hier heruntergeladen werden: <a href="https://tomcat.apache.org/download-90.cgi">https://tomcat.apache.org/download-90.cgi</a></p><p>Die Installationsanweisungen befinden sich hier: <a href="https://tomcat.apache.org/tomcat-9.0-doc/setup.html">https://tomcat.apache.org/tomcat-9.0-doc/setup.html</a></p><p>Da ich mich nicht mit manuellen Installationen herumschlagen will, ist Option 2 mein Favorit.</p><h3 id="mcetoc_1g62lllju8di">Option 2: Installation des Tomcat-Servers via VSCode</h3><p>Falls man für die Entwicklung in der IDE VSCode arbeitet, kann man dort direkt Tomcat als AddOn installieren und muss sich so garnicht mit der Installation des Tomcat befassen. Link zum Add-On: <a href="https://marketplace.visualstudio.com/items?itemName=redhat.vscode-community-server-connector">https://marketplace.visualstudio.com/items?itemName=redhat.vscode-community-server-connector</a></p><h3 id="mcetoc_1g62lllju8dj">(Option 3: Tomcat Docker Image)</h3><p>Fortgeschrittene Java Entwickler können theoretisch auch direkt das Docker Tomcat Image nutzen. Da ich jedoch Java sowie Tomcat Anfänger bin, verzichte ich vorerst auf den Docker Container, und werde Option 2 weiter erläutern.</p><h2 id="mcetoc_1g62lllju8dk">Tomcat mit VSCode einrichten</h2><p>Nach der Installation erscheint links im Explorer von VSCode ein neuer Tab "SERVERS", wenn man diesen öffnet erscheint der "Cummunity Server Connector". Mit rechtsklick darauf kann man einen neuen Server erstellen. Wir beantworten "Download Server?" mit Yes. und wählen "Apache Tomcat 9.0.41" als nächstes müssen wir die Lizenz akzeptieren. That's it. Nun sollte ein Apache Tomcat aufgelistet sein.</p><p>Es fehlt lediglich ein Benutzer, der die Administrationskonsole des Servers bedienen darf. Einen solchen Nutzer sollte aber eingerichtet werden, damit man die Administrationskonsole verwalten kann. Dazu öffnen wir folgende Datei (gilt nur für MacOS): <span class="s1">/Users/<deinuser>/.rsp/redhat-community-server-connector/runtimes/installations/tomcat-9.0.41/apache-tomcat-9.0.41/conf/t</span><span class="s1">omcat-users.xml und fügen folgende Zeile hinzu:</span></p><pre class="hljs" style="color: #a9b7c6; background: #282b2e none repeat scroll 0% 0%; display: block; overflow-x: auto; padding: 0.5em;"><<span class="hljs-literal" style="color: #6897bb;">user</span> username=<span class="hljs-string" style="color: #6a8759;">"tomcat"</span> password=<span class="hljs-string" style="color: #6a8759;">"tomcat"</span> roles=<span class="hljs-string" style="color: #6a8759;">"manager,manager-gui"</span>/></pre><p>Natürlich sollte ein anderes Kennwort verwendet werden, idealerweise lässt man eines generieren. Der Server ist jetzt fertig konfiguriert. Der Server kann nun mit einem Rechtsklick auf dem TomCat Server gestartet werden.</p><h2>Installation verifizieren</h2><p>Um zu überprüfen, ob der Server wirklich funktioniert, kann man nun die Administrationskonsole unter <a href="http://localhost:8080/manager">http://localhost:8080/manager</a> aufrufen. Nun sollte eine Loginmaske erscheinen, in welchem wir den zuvor definieren User und PW eingeben. Nach der Anmeldung sollte man die Tomcat-Manager-Anwendung zu sehen bekommen:</p><figure class="post__image"><img loading="lazy" src="https://www.finecloud.ch/media/posts/36/Screenshot-2022-06-21-at-10.59.45.png" alt="" width="1912" height="926" sizes="100vw" srcset="https://www.finecloud.ch/media/posts/36/responsive/Screenshot-2022-06-21-at-10.59.45-xs.png 300w, https://www.finecloud.ch/media/posts/36/responsive/Screenshot-2022-06-21-at-10.59.45-sm.png 480w, https://www.finecloud.ch/media/posts/36/responsive/Screenshot-2022-06-21-at-10.59.45-md.png 768w, https://www.finecloud.ch/media/posts/36/responsive/Screenshot-2022-06-21-at-10.59.45-lg.png 1024w, https://www.finecloud.ch/media/posts/36/responsive/Screenshot-2022-06-21-at-10.59.45-xl.png 1360w, https://www.finecloud.ch/media/posts/36/responsive/Screenshot-2022-06-21-at-10.59.45-2xl.png 1600w"></figure><p>Wenn man diese Ansicht zu sehen bekommt kann man sicher sein, das die Installation erfolgreich war und der Tomcat Server funktioniert.</p></div><footer class="wrapper post__footer"><p class="post__last-updated">This article was updated on Juni 27, 2022</p><ul class="post__tag"><li><a href="https://www.finecloud.ch/tags/java/">java</a></li><li><a href="https://www.finecloud.ch/tags/network/">network</a></li><li><a href="https://www.finecloud.ch/tags/servlet/">servlet</a></li><li><a href="https://www.finecloud.ch/tags/softwareentwicklung/">software development</a></li><li><a href="https://www.finecloud.ch/tags/vscode/">vscode</a></li></ul><div class="post__share"></div></footer></article><nav class="post__nav"><div class="post__nav-inner"><div class="post__nav-prev"><svg width="1.041em" height="0.416em" aria-hidden="true"><use xlink:href="https://www.finecloud.ch/assets/svg/svg-map.svg#arrow-prev"/></svg> <a href="https://www.finecloud.ch/tabby.html" class="post__nav-link" rel="prev"><span>Previous</span> Tabby Config-Sync auf Nextcloud einrichten</a></div><div class="post__nav-next"><a href="https://www.finecloud.ch/java-serverlet-entwickeln-mit-vscode.html" class="post__nav-link" rel="next"><span>Next</span> Java Serverlet mit Tomcat und Maven in VSCode </a><svg width="1.041em" height="0.416em" aria-hidden="true"><use xlink:href="https://www.finecloud.ch/assets/svg/svg-map.svg#arrow-next"/></svg></div></div></nav><div class="post__related related"><div class="wrapper"><h2 class="h5 related__title">You should also read:</h2><article class="related__item"><div class="feed__meta"><time datetime="2022-05-26T14:07" class="feed__date">Mai 26, 2022</time></div><h3 class="h1"><a href="https://www.finecloud.ch/java-collection-iteratoren.html">Java Collection Iteratoren</a></h3></article><article class="related__item"><div class="feed__meta"><time datetime="2022-05-26T13:28" class="feed__date">Mai 26, 2022</time></div><h3 class="h1"><a href="https://www.finecloud.ch/java-collection-sets.html">Java Collection Sets</a></h3></article><article class="related__item"><div class="feed__meta"><time datetime="2022-05-26T13:19" class="feed__date">Mai 26, 2022</time></div><h3 class="h1"><a href="https://www.finecloud.ch/java-collection-listen.html">Java Collection Listen</a></h3></article></div></div></main><footer class="footer"><div class="footer__copyright"><p>Powered by Publii</p></div><button onclick="backToTopFunction()" id="backToTop" class="footer__bttop" aria-label="Back to top" title="Back to top"><svg><use xlink:href="https://www.finecloud.ch/assets/svg/svg-map.svg#toparrow"/></svg></button></footer></div><script>window.publiiThemeMenuConfig = {
mobileMenuMode: 'sidebar',
animationSpeed: 300,
submenuWidth: 'auto',
doubleClickTime: 500,
mobileMenuExpandableSubmenus: true,
relatedContainerForOverlayMenuSelector: '.top',
};</script><script defer="defer" src="https://www.finecloud.ch/assets/js/scripts.min.js?v=6ca8b60e6534a3888de1205e82df8528"></script><script>var images = document.querySelectorAll('img[loading]');
for (var i = 0; i < images.length; i++) {
if (images[i].complete) {
images[i].classList.add('is-loaded');
} else {
images[i].addEventListener('load', function () {
this.classList.add('is-loaded');
}, false);
}
}</script><script defer="defer" src="https://www.finecloud.ch/media/plugins/syntaxHighlighter/prism.js"></script></body></html>