Ervlet-Zusammenfassung
1. Servlet ist für die Verarbeitung von Benutzeranfragen auf der Serverseite verantwortlich. Wenn der Client eine Anfrage an den Server sendet, findet der Server das entsprechende Servlet zur Verarbeitung die Anfrage. Ein Servlet muss an eine URL gebunden sein, und Benutzer greifen auf das Servlet zu, indem sie auf die URL zugreifen.
Drei Möglichkeiten zur Implementierung von Servlets
Java.servlet.Sertvlet-Klasse
Java .servlet.GenericServlet-Klasse
Java.servlet.HttpServlet-Klasse
3. Methoden in der Servlet-Schnittstelle
//Initialisierung
void init (ServletConfig config)
void service(ServletRequest request,ServletResponse Response)
//Destroy
void destroy()
String getServletInfo()
ServletConfig getServletConfig()
Der Client sendet eine Anfrage und der Server findet das entsprechende Servlet über die URL Objekt nicht vorhanden ist, erstellt der Server ein Servlet-Objekt
Nach dem Erstellen des Objekts ruft der Server sofort init (ServletConfig-Konfiguration) auf, um die Initialisierungsarbeit abzuschließen, und ruft dann
auf Servlet-Dienstmethode (ServletRequest req, ServletResponse res) Zu diesem Zeitpunkt müssen Sie die Parameteranforderung und Antwort daran übergeben.
Wenn der Client erneut auf dieses Servlet zugreift, wird es nicht erstellt, da das Servlet-Objekt bereits vorhanden ist. Servlet ist ein Singleton.
(Hinweis: Das Singleton-Muster ist ein häufig verwendetes Software-Designmuster. In seiner Kernstruktur enthält es nur eine spezielle Klasse, die als Singleton-Klasse bezeichnet wird. Das Singleton-Muster kann sicherstellen, dass eine Klasse im System vorhanden ist Eine Instanz und die Instanz ist von außen leicht zugänglich, was die Kontrolle über die Anzahl der Instanzen erleichtert und Systemressourcen spart. Wenn Sie möchten, dass nur ein Objekt einer bestimmten Klasse im System vorhanden ist, ist der Singleton-Modus die beste Lösung.
Wenn der Server das Servlet-Objekt zerstören muss, ruft er zuerst destroy() auf, um die Freigabe einiger Ressourcen abzuschließen, und zerstört dann das Objekt
4. Konfigurieren Sie das Servlet im Web. xml
HelloWorldServlet
< ;servlet-class>
cn.edu.aynu.rjxy.servlet.HelloWorldServlet
HelloWorldServlet
< url-pattern>
/helloWorld
Die Konfiguration besteht darin, die URL und Serlvet miteinander zu verbinden. Wenn der Benutzer darauf zugreift, wird das entsprechende Servlet gefunden, um die Anforderungsverarbeitung abzuschließen.
5.ServletConfig: Parameter der init()-Methode, der das Servlet-Konfigurationsobjekt und die entsprechenden Servlet-Konfigurationsinformationen darstellt
Tatsächlich sind die Konfigurationsinformationen das
servlet-class> cn.edu.aynu.rjxy.servlet.HelloServlet
ServletConfig-Objekt wird vom Server erstellt. Wenn der Server die init()-Methode aufruft, wird es als tatsächlicher Parameter an die Methode init() übergeben.
Wir können es in verwenden init()-Methode.
(1) String getInitParameter (Stringname): Wird verwendet, um die in web.xml konfigurierten Initialisierungsparameter abzurufen und den Parameterwert über den Parameternamen abzurufen.
(2) Enumeration getInitParameterNames(): Wird verwendet, um alle in web.xml konfigurierten Initialisierungsparameternamen abzurufen.
(3) ServletContext getServletContext(): wird verwendet, um das ServletContext-Objekt zurückzugeben.
(4) String getServletName(): wird verwendet, um den Namen des in web.xml konfigurierten Servlets zurückzugeben ,
;
;/param-value>
;
Laufergebnis:
Das Objekt wurde sofort erstellt und initialisiert
school=aysfxy
major=java
class1=2
school=aysfxy
class1 =2
Hauptfach=Java
Schule=aysfxy
Hauptfach=Java
Klasse1=2
Schule=aysfxy
class1=2
major=java
6 : Es ist eine abstrakte Klasse, die implementiert Die javax.servlet.Servlet-Schnittstelle kann auch durch Erben dieser Klasse implementiert werden
Die Methoden getServletContext(), getInitParameter() und andere in der Klasse können direkt verwendet werden. Wenn Sie Initialisierungsparameter ausführen möchten,
Überschreiben Sie nicht die Methode init(ServletConfig config). aber überschreiben Sie es. Schreiben Sie die Methode init()
HttpServlet: Es handelt sich um eine Servlet-Klasse, die speziell zur Verarbeitung von HTTP-Protokollanforderungen verwendet wird. Wir können Servlet implementieren, indem wir HttpServlet erben.
Dies ist für uns der einfachste Weg Wir werden dies in Zukunft tun, da es nur zwei vom Client gesendete Methoden gibt: get und post. Wir müssen also nur diese beiden Methoden neu schreiben.
7.HttpServlet: Es handelt sich um eine Servlet-Klasse, die speziell zur Verarbeitung von HTTP-Protokollanforderungen verwendet wird. Wir können Servlet durch Erben von HttpServlet implementieren.
Dies ist die einfachste Der Weg besteht darin, dies in Zukunft zu tun, da die vom Client gesendeten Anforderungen nur zwei Möglichkeiten zum Abrufen und Posten sind.
Daher müssen wir nur diese beiden Methoden neu schreiben.