MyEclipse ist eine leistungsstarke integrierte Entwicklungsumgebung auf Unternehmensebene, die auf Basis von Eclipse mit eigenen Plug-Ins entwickelt wurde. Sie wird hauptsächlich für die Entwicklung von Java, Java EE und mobilen Anwendungen verwendet. Der folgende Artikel führt Sie hauptsächlich in die relevanten Informationen zur Entwicklung von Servlets mit myeclipse ein. Freunde in Not können darauf zurückgreifen.
In web.xml können Sie mehrere externe Zugriffspfade für dasselbe Servlet konfigurieren. Wenn der Informationsserver in web.xml konfiguriert ist, wird er automatisch geladen und bereitgestellt Servlet muss jedes Mal neu bereitgestellt werden.
Nachdem Sie mit MyEclipse ein Servlet erstellt haben, wird das erstellte Servlet zunächst der Datei web.xml zugeordnet, wie in der folgenden Abbildung dargestellt:
Nach dieser Zuordnung werden die Konfigurationsinformationen dieses Servlets automatisch in der Datei web.xml generiert:
Natürlich können wir dieses Servlet in der Datei web.xml fortsetzen Fügen Sie einen externen Zugriffspfad hinzu, damit auf dieses Servlet von verschiedenen Pfaden aus zugegriffen werden kann. Jetzt können wir diesem Servlet einen neuen externen Zugriffspfad hinzufügen, wenn der Server geöffnet ist :
Der rote Kastenteil wird zu diesem Zeitpunkt automatisch hinzugefügt, dass er im Konsolenfenster erneut bereitgestellt wurde. Ja, solange Sie ihn in web.xml ändern , Sie müssen es nicht schließen. Der Server kann erneut aktualisiert, geladen und bereitgestellt werden:
Dann versuchen wir es mit einer neuen Zugriffsadresse:
Okay, Zugang! !
Detail 2: Beim Konfigurieren des externen Zugriffspfads für das Servlet im Web > Ein Format ist
Der gesamte Inhalt darf nur die Erweiterung „*.“
haben, z als
Dadurch entsteht eine Pseudostatik Phänomen, wir denken, wir greifen auf eine statische Seite zu, aber es handelt sich tatsächlich um eine dynamische Webressource.
Ein anderes Format besteht darin, mit einem Schrägstrich „/“ zu beginnen, einen benutzerdefinierten Pfad hinzuzufügen und mit „/*“ zu enden, z. B.
Sie können es an der Platzhalterposition in der Adressleiste des Browsers eingeben, die Erweiterung ist nicht erforderlich:
Detail drei: Wenn die Zuordnungspfade mehrerer von Detail zwei exportierter Servlet-Ressourcen Platzhalter verwenden, kann es zu Konflikten kommen. Mit welcher Servlet-Ressource antwortet der Server zu diesem Zeitpunkt? Schauen wir uns die folgenden Fragen an und wir werden verstehen:
Detail 4: Während des gesamten Lebenszyklus des Servlets wird die init()-Methode des Servlets nur verwendet einmal angerufen. Für jede Zugriffsanforderung des Servlets ruft das Servlet einmal die Methode service() auf. Und für jeden Anforderungszugriff erstellt das Servlet ein neues HttpServletRequest-Anforderungsobjekt und ein neues HttpServletResponse-Antwortobjekt. Natürlich werden diese Anforderungsobjekte und Antwortobjekte nach Abschluss jedes Anforderungszugriffs sofort zerstört, warten auf die nächste Anforderung und werden dann neu erstellt, was den Druck auf den Server verringern kann (in nicht gleichzeitigen Situationen).
Detail 5: Nachdem das zuvor erwähnte Servlet auf dem Server bereitgestellt wurde, erstellt der Server nur dann ein Instanzobjekt des Servlets, wenn in einem bestimmten
Detail 6: Wenn der Zuordnungspfad eines Servlets nur ein Schrägstrich „/“ ist, wird dieses Servlet als Standard-Servlet der aktuellen Webanwendung bezeichnet. Für URLs, die in der Webzugriffsanforderung kein passendes
Zum Beispiel erstelle ich jetzt zwei Servlets, von denen eines über einen benutzerdefinierten externen Zuordnungspfad verfügt und das andere als Standard-Servlet festgelegt ist:
Wenn Sie auf SecondServlet zugreifen möchten, müssen Sie die Adressleiste des Browsers entsprechend dem entsprechenden Pfad eingeben:
Für das Standard-Servlet geben Sie es einfach beiläufig nach dem Web ein Anwendungsname:
(Wenn Sie nicht verlieren, wird die vorhandene Homepage index.jsp angezeigt. Warum, sehen Sie sich bitte die Details sechs unten an)
Detail 6 (Wichtig) : Wenn wir das Standard-Servlet nicht in dem von uns entwickelten Servlet konfigurieren, sondern direkt auf eine statische Webressource unter unserem Webprojekt (falls vorhanden) zugreifen, werden wir dies tun in der Lage sein, diese Webressource auf dem Server zu durchsuchen, Denken Sie daran: Für die Anforderung einer Webressource ist ein bestimmtes Servlet erforderlich, um auf die zurückgegebenen Daten zu antworten , daher haben wir kein Standard-Servlet konfiguriert , warum kann ich auf diese Ressource zugreifen? Mit anderen Worten: Welches Servlet antwortet uns mit den Ressourcen, die wir benötigen? Die Antwort ist das Standard-Servlet des Tomcat-Servers! ! ! Das Standard-Servlet des Tomcat-Servers legt den Zuordnungspfad in der Datei web.xml im Verzeichnis [conf] von Tomcat fest:
Wie aus der Datei web.xml von Tomcat ersichtlich ist, ist es Das Standard-Servlet erstellt beim Start des Servers ein Instanzobjekt. Es ist das erste, das erstellt wurde, und der externe Pfad wurde auf das Standardformat festgelegt. Dieses Standard-Servlet verwaltet jedes benutzerdefinierte Servlet-Projekt. Wenn wir in unserem eigenen Webprojekt kein Standard-Servlet erstellen, hilft uns das Standard-Servlet von Tomcat bei der Konvertierung der Ressource Die Ressource wird in ein Antwortobjekt gekapselt und an den Client zurückgesendet.
Zum Beispiel erstelle ich eine 1.html-Seite unter meinem Webprojekt:
Und ich gehe zum Browser, um auf diese Seite zuzugreifen:
Für diese URL gleicht der Tomcat-Server zunächst ab, ob mein Servlet einen entsprechenden Zuordnungspfad hat. Wenn nicht, und wenn ich in meinem Webprojekt kein Standard-Servlet festlege, dann wird der Tomcat-Server verwendet Das Standard-Servlet sucht unter meiner Webanwendung nach über HTTP angeforderten Ressourcen, findet sie, kapselt sie in Antwortobjekte und gibt sie an den Client zurück. Wenn das Standard-Servlet von Tomcat die erforderliche Ressource nicht finden kann, antwortet es trotzdem auf den Client, aber der Client sieht einige Eingabeaufforderungen, dass die Ressource nicht gefunden werden kann, z. B. eine 404-Eingabeaufforderung. Darüber hinaus wird gemäß diesem Prozess empfohlen, bei der Entwicklung unseres eigenen Servlets nicht eines unserer eigenen Servlets dem Standard-Servlet zuzuordnen.
Als Nächstes besprechen wir ein Problem mit der Startseite. Zusätzlich zum Zugriff auf eine bestimmte Ressource in der Webanwendung (und schließlich die Eingabe eines Dateinamens in die Browseradresse) wird nach der Eingabe des Webanwendungsnamens auch eine HTTP-Anfrage gesendet die „Homepage“, und auf diese Homepage antwortet auch das Standard-Servlet.
Wenn ich beispielsweise MyEclipse zum Erstellen einer Webanwendung verwende, wird standardmäßig eine „index.jsp“-Datei für mich erstellt:
Und Ich befinde mich in der Webanwendung. Es wird kein Servlet erstellt, oder selbst wenn ein Servlet erstellt wird, wird es einer bestimmten externen URL zugeordnet. Dann kann ich diese index.jsp immer noch sehen, wenn ich die Hostadresse + den Namen der Webanwendung in den Browser eingebe :
Wie oben erwähnt, muss diese Seite vom Standard-Servlet des Tomcat-Servers an den Client zurückgesendet werden. Warum sendet der Tomcat-Server diese Ressource anstelle anderer Ressourcen zurück? Die Antwort befindet sich noch in der Datei web.xml. Erinnern Sie sich noch an die in „Tomcat Detailliertes Lernen“ definierten Methoden? Diese Methode wird vom Standard-Servlet verwaltet Einstellungen in Tomcat Das
Wenn die Eingabeadresse des Browsers nur den Namen der Webanwendung eingibt, dann das Standard-Servlet von Tomcat Überträgt dies Die Datei index.html unter der Webanwendung, andernfalls wird die Datei index.htm gesendet, andernfalls wird die Datei index.jsp gesendet. Wenn keine der drei Dateien vorhanden ist, kann nur 404 zurückgegeben werden.
Wenn ich diesen Code auskommentiere oder lösche und dann direkt auf den Namen der Webanwendung zugreifen möchte, kann das Standard-Servlet von Tomcat die Ressource nicht finden, genau wie ich die Datei index.jsp gelöscht habe, und gibt eine 404-Eingabeaufforderung zurück (in Der Server muss in MyEclipse neu gestartet werden):
Wenn wir also eine schöne Homepage für unsere Webanwendung erstellen möchten, müssen wir nur Sie müssen es einfach in .jsp entwickeln oder eine andere index.html-Datei für die Entwicklung erstellen. Auf diese Datei wird zuerst zugegriffen als auf index.jsp.
Detail 7: Da unser Entwicklungs-Servlet eine bestimmte Implementierungsklasse der Servlet-Schnittstelle erben muss, rufen wir beim Schreiben der doGet-Methode oder doPost-Methode wahrscheinlich einige Methoden auf, die Ausnahmen auslösen. Dann können wir Diese Ausnahmen werden nur abgefangen und behandelt, aber nicht ausgelöst. Dies liegt daran, dass die Unterklasse nicht mehr Ausnahmen auslösen kann als die übergeordnete Klasse, wenn sie die Methoden der übergeordneten Klasse überschreibt.
Zusammenfassung
Das obige ist der detaillierte Inhalt vonGrafisches Tutorial zur Entwicklung von Servlets mit Myeclipse in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!