Die Verbindung und der Unterschied zwischen Action und Servlet in Struts2

Clientanforderungsschritte für die Servlet-Verarbeitung :

1. Der Webclient sendet eine HTTP-Anforderung an den Servlet-Container (Tomcat).

2. Der Servlet-Container analysiert die Anforderungsinformationen des Kunden

3. Der Servlet-Container erstellt ein HttpServletRequest-Objekt und kapselt die vom Kunden angeforderten Informationen in dieses Objekt

4. Der Servlet-Container erstellt ein HttpServletResponse-Objekt 

5. Der Servlet-Container findet das entsprechende Servlet gemäß der URL in der Anforderungsnachricht, erstellt dann einen separaten Thread für die Anforderung und übergibt das HttpRequest-Objekt und das HttpResponse-Objekt als Parameter an den neu erstellten Thread

6. Der Container ruft die service () -Methode des Servlet-Objekts auf, um die Antwort auf die Benutzeranforderung abzuschließen und gleichzeitig die dynamische Seite an den Container zurückzugeben.

(Oder HttpServlet ruft verwandte Methoden des HttpRequest-Objekts auf, um HTTP-Anforderungsinformationen abzurufen. Ruft verwandte Methoden des HttpResponse-Objekts auf, um Antwortdaten zu generieren.)

7. Der Servlet-Container stellt das Antwortergebnis im HTTP-Format zusammen und sendet es an den Webclient


   Struts2 wird auch für den Container ausgeführt. Obwohl Servlet nicht verwendet wird, sind die ersten vier Schritte identisch. Das HttpServletRequest-Objekt und das HttpServletResponse-Objekt werden erstellt. Daher kann das Anforderungsobjekt in struts2.0 über ServletActionContext abgerufen werden. getRequest ().

 Struts2-Prozess :


    Man kann sagen, dass Struts2 im Wesentlichen ein Servlet ist (in S1 ist es ein Servlet für die Gesamtsteuerung; S2 ist ein Filter, tatsächlich kann es auch als Servlet angesehen werden), nur eine weitere Kapselung des Servlets.
    Eine Analogie: Ein Webprojekt zu machen ist wie ein Haus zu bauen. Servlet ist wie Holz. Sie können ein Haus mit Holzwurzeln bauen, aber die Geschwindigkeit ist langsam.
Struts2 ist wie ein Haus aus Holz. Wenn Sie ein Haus bauen möchten, müssen Sie es nur nehmen und dann Ziegel und hinzufügen Mit Fliesen, Reparaturen und Reparaturen können Sie schnell ein Haus bauen, was viel schneller ist als die direkte Verwendung von Servlet.

Vor- und Nachteile :

1. Servlet ist lässiger und flexibler, was zu einer schlechten Standardisierung führt und nicht einfach zu interpretieren ist.

2. Sicherheit, Servlet ist nicht so hoch wie Struts2. Servlet kann zu Missbrauch der Sitzung und zu Informationslecks führen.

3. Wartbarkeit, Streben sind weitaus besser als Servlet. Die Codeschichtung des Struts-Projekts ist sehr klar. Wenn Sie ein Servlet verwenden, ist die Codestruktur nicht klar und es ist einfach, einen neuen BUG einzuführen.



Ich denke du magst

Origin blog.csdn.net/m0_37541228/article/details/76937532
Empfohlen
Rangfolge