Heim  >  Artikel  >  Java  >  Entdecken Sie die Prinzipien und Anwendungen des Struts-Frameworks

Entdecken Sie die Prinzipien und Anwendungen des Struts-Frameworks

王林
王林Original
2024-01-04 08:19:061225Durchsuche

Entdecken Sie die Prinzipien und Anwendungen des Struts-Frameworks

Eingehende Analyse der Prinzipien und Anwendungen des Struts-Frameworks

Zusammenfassung: Das Struts-Framework ist ein hervorragendes Framework für die Entwicklung von Java-Webanwendungen. Es basiert auf dem MVC-Entwurfsmuster und einer Reihe von Tag-Bibliotheken und Interceptoren. Bereitstellung einer einfachen, standardisierten Möglichkeit für Entwickler, Webanwendungen zu erstellen. Dieser Artikel bietet eine detaillierte Analyse der Prinzipien und Anwendungen des Struts-Frameworks, einschließlich des Funktionsprinzips des Frameworks, der Hauptkomponenten und Beispielcodes zur Demonstration seiner spezifischen Anwendungen.

1. Funktionsweise des Struts-Frameworks
Das Struts-Framework basiert auf dem MVC-Entwurfsmuster (Model-View-Controller), bei dem das Modell (Model) für die Verarbeitung der Geschäftslogik und des Datenzugriffs verantwortlich ist, die Ansicht (View) ist für die Anzeige von Daten verantwortlich, und der Controller (Controller) ist für die Bearbeitung von Benutzeranfragen und den Versand geeigneter Modelle und Ansichten verantwortlich. Im Folgenden stellen wir die Funktionsweise des Struts-Frameworks im Detail vor.

1.1 Controller-Schicht
Der Kern des Struts-Frameworks ist die Controller-Schicht, bei der es sich um den Aktionscontroller handelt. Wenn ein Benutzer eine Anfrage sendet, ordnet das Struts-Framework die entsprechende Aktionsklasse zu, um die Anfrage basierend auf den Konfigurationsinformationen in der Konfigurationsdatei (struts-config.xml) zu verarbeiten. Die Action-Klasse erbt die von Struts bereitgestellte Action-Klasse oder implementiert die von Struts bereitgestellte Action-Schnittstelle, überschreibt die Methodeexecute (), um Geschäftslogik zu verarbeiten, und gibt entsprechende Ergebnisse zurück.

1.2 Ansichtsebene
Die Ansichtsebene ist die Komponente, die für die Anzeige von Daten im Struts-Framework verantwortlich ist. Struts vereinfacht die Arbeit von Entwicklern beim Schreiben von Code in JSP-Seiten, indem es eine Tag-Bibliothek (Struts Tag Library) bereitstellt, die den Prozess und die Anzeige in JSP-Seiten einfach steuern kann .

1.3 Modellschicht
Die Modellschicht ist die Komponente, die für die Verarbeitung der Geschäftslogik und des Datenzugriffs im Struts-Framework verantwortlich ist. Entwickler verwenden normalerweise POJO-Klassen (Plain Old Java Object) als Modellobjekte, verwenden JavaBean-Spezifikationen, um Eigenschaften zu kapseln, und stellen entsprechende Zugriffsmethoden bereit. Das Struts-Framework kommuniziert Daten mit der Modellebene über die ActionForm-Klasse.

1.4 Konfigurationsdatei
Die Konfigurationsdatei des Struts-Frameworks umfasst hauptsächlich web.xml und struts-config.xml. Die Datei web.xml konfiguriert hauptsächlich das Kern-Controller-Servlet von Struts sowie einige Filter usw.; die Datei struts-config.xml konfiguriert hauptsächlich die globalen Parameter, die Aktionszuordnung und die entsprechenden Ansichten von Struts.

2. Die Hauptkomponenten des Struts-Frameworks
Um die Prinzipien des Struts-Frameworks besser zu verstehen, müssen wir die Hauptkomponenten des Struts-Frameworks verstehen:

2.1 Aktionsklasse
Die Aktionsklasse ist der Kern des Struts-Framework und ist für die Verarbeitung jeder Benutzeranfrage verantwortlich. In der Action-Klasse können wir Geschäftslogikcode schreiben, Parameter vom Anforderungsobjekt abrufen, die Service-Layer-Methode aufrufen, um die Daten zu verarbeiten, und das Ergebnis auf das Anforderungsobjekt setzen oder es über den Rückgabewert an das Front-End zurückgeben.

2.2 ActionForm-Klasse
Die ActionForm-Klasse ist eine JavaBean-Klasse, die zum Kapseln der vom Benutzer angeforderten Parameter und zum Übergeben von Daten zwischen verschiedenen Aktionen verwendet wird. In der Klasse „Action“ können wir die Methode „validate()“ überschreiben, indem wir die Klasse „ActionForm“ erben, um die vom Benutzer angeforderten Parameter zu überprüfen.

2.3 struts-config.xml-Konfigurationsdatei
struts-config.xml-Datei wird zum Konfigurieren der globalen Parameter, der Aktionszuordnung und der entsprechenden Ansichten des Struts-Frameworks verwendet. In dieser Konfigurationsdatei können wir Formularvalidierungsregeln und globale Ausnahmebehandlung definieren und die Zuordnung zwischen Aktion und der entsprechenden JSP-Ansicht konfigurieren.

2.4 Tag-Bibliothek
Struts bietet eine Reihe von Tag-Bibliotheken, die es Entwicklern ermöglichen, Prozesse einfach zu steuern, Daten anzuzeigen usw. in JSP-Seiten. Beispielsweise kann das Tag verwendet werden, um zu bestimmen, ob zwei Werte gleich sind, und das Tag kann verwendet werden, um den Eigenschaftswert in einem JavaBean auszugeben.

3. Anwendungsbeispiel des Struts-Frameworks
Um die Anwendung des Struts-Frameworks besser zu verstehen, werden wir es anhand eines Beispiels demonstrieren. Angenommen, wir möchten ein Benutzeranmeldesystem entwickeln, das Benutzerregistrierung, Benutzeranmeldung und andere Funktionen umfasst.

3.1 Benutzerregistrierungsseite schreiben
Zuerst müssen wir eine Benutzerregistrierungsseite register.jsp schreiben. Auf dieser Seite verwenden wir die Struts-Tag-Bibliothek, um die Formularübermittlung und -validierung zu steuern, z. B. die Verwendung des

-Tags zum Kapseln des Formulars und die Verwendung des -Tags zum Erstellen von Benutzernamen- und Passwort-Eingabefeldern . Gleichzeitig können wir auf dieser Seite auch Fehlermeldungen anzeigen, indem wir beispielsweise das Tag verwenden, um Fehlermeldungen für Benutzernamen und Passwörter anzuzeigen.

<%@ taglib prefix="struts" uri="http://struts.apache.org/tags-html"%>
<html>
<body>
  <h3>用户注册</h3>
  <struts:form action="/register" method="post">
    <struts:textfield property="username" label="用户名" />
    <struts:textfield property="password" label="密码" />
    <input type="submit" value="注册" />
  </struts:form>
  <struts:errors />
</body>
</html>

3.2 Aktionsklasse erstellen
Nach Erhalt der Benutzerregistrierungsanfrage ruft das Struts-Framework die entsprechende Aktionsklasse auf, um die Anfrage zu verarbeiten. Wir müssen eine RegisterAction-Klasse schreiben, die von der von Struts bereitgestellten Action-Klasse erbt, und Code schreiben, um die Geschäftslogik in der Methodeexecute() zu verarbeiten, z. B. das Speichern von Benutzerregistrierungsinformationen in der Datenbank.

public class RegisterAction extends Action {
  private String username;
  private String password;

  public String execute() throws Exception {
    // 处理注册逻辑,将用户信息保存到数据库
    
    return "success";
  }

  // 省略getter和setter方法
}

3.3 Konfigurieren Sie die Datei struts-config.xml
In der Datei struts-config.xml müssen wir die Zuordnungsbeziehung zwischen Action und der entsprechenden JSP-Ansicht sowie Formularvalidierungsregeln usw. konfigurieren.

<struts-config>
  <form-beans>
    <form-bean name="registerForm" type="com.example.RegisterForm" />
  </form-beans>
  
  <action-mappings>
    <action path="/register" type="com.example.RegisterAction" name="registerForm" 
            input="/register.jsp" scope="request">
      <forward name="success" path="/welcome.jsp" />
    </action>
  </action-mappings>
</struts-config>

In der obigen Konfiguration ordnen wir die RegisterAction-Klasse dem Pfad „/register“ zu und geben die ActionForm-Klasse als RegisterForm an. Wenn die Registrierung fehlschlägt, wird zur Seite „register.jsp“ zurückgekehrt, andernfalls wird zur Seite „welcome.jsp“ gesprungen.

Fazit
Dieser Artikel bietet eine detaillierte Analyse der Prinzipien und Anwendungen des Struts-Frameworks und demonstriert seine spezifischen Anwendungsszenarien anhand von Beispielcode. Ich hoffe, dass die Leser durch die Einführung dieses Artikels ein tieferes Verständnis des Struts-Frameworks erlangen können, damit es besser in der tatsächlichen Projektentwicklung angewendet werden kann.

Das obige ist der detaillierte Inhalt vonEntdecken Sie die Prinzipien und Anwendungen des Struts-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn