Maison  >  Article  >  Java  >  Analyse approfondie du mécanisme de fonctionnement du framework Struts2

Analyse approfondie du mécanisme de fonctionnement du framework Struts2

WBOY
WBOYoriginal
2024-01-05 15:36:541319parcourir

Analyse approfondie du mécanisme de fonctionnement du framework Struts2

Analyse approfondie du principe de fonctionnement du framework Struts2

Struts2 est un excellent framework de développement d'applications Web Java, qui fournit une méthode de développement basée sur le modèle MVC (Model-View-Controller) pour aider les développeurs à créer et maintenir une application Web plus rapide. Comprendre le principe de fonctionnement du framework Struts2 est très important pour les développeurs. Cet article aidera les lecteurs à acquérir une compréhension approfondie du principe de fonctionnement du framework Struts2 grâce à une analyse détaillée et des exemples de code spécifiques.

  1. Modèle MVC
    Le modèle MVC est un modèle de conception logicielle qui divise les applications en trois composants principaux : le modèle, la vue et le contrôleur. Le modèle représente les données et la logique métier de l'application, la vue est chargée de présenter les données à l'utilisateur et le contrôleur gère les demandes des utilisateurs et met à jour le modèle et la vue.
  2. Le principe de fonctionnement de Struts2
    Le principe de fonctionnement du framework Struts2 est basé sur le modèle de conception Front Controller. Le composant principal DispatcherServlet agit en tant que contrôleur et est responsable du traitement de toutes les demandes des utilisateurs. Voici le flux de travail du framework Struts2 :

(1) L'utilisateur envoie une requête au serveur et le conteneur Web (tel que Tomcat) démarre le filtre Struts2 FilterDispatcher après avoir reçu la requête.

(2) Le filtre FilterDispatcher intercepte la requête et la transmet au contrôleur principal DispatcherServlet.

(3) DispatcherServlet mappe à la classe d'action et à la méthode correspondantes en fonction de l'URL demandée.

(4) Avant d'appeler la méthode Action, le framework Struts2 exécutera la chaîne d'intercepteur (Interceptor). Les intercepteurs peuvent prétraiter les demandes, telles que la vérification de l'identité de l'utilisateur, la vérification des autorisations de l'utilisateur, etc.

(5) Appelez la méthode Action pour traiter la demande et déterminez le prochain saut ou le résultat de sortie en fonction de la valeur de retour de la méthode.

(6) Le framework Struts2 sélectionne la vue de résultat correspondante en fonction de la valeur de retour de la méthode Action. Si le retour est une chaîne, Struts2 l'analysera en un nom de vue logique, puis trouvera la vue physique correspondante via l'analyseur de vue.

(7) La vue résultante sera rendue et renvoyée à l'utilisateur.

  1. Exemple de code spécifique
    Afin de mieux comprendre le fonctionnement de Struts2, voici un exemple de code simple :

(1) Page frontale (index.jsp)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Struts2 Example</title>
</head>
<body>
    <h1>Welcome to Struts2 Example</h1>
    <form action="hello" method="POST">
        <input type="text" name="name" placeholder="Enter your name" required>
        <button type="submit">Say Hello</button>
    </form>
</body>
</html>

(2) Classe d'action (HelloAction. java )

package com.example;

import com.opensymphony.xwork2.ActionSupport;

public class HelloWorldAction extends ActionSupport {
    private String name;

    public String execute() {
        return SUCCESS;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getName() {
        return name;
    }
}

(3) Fichier de configuration Struts2 (struts.xml)

<!DOCTYPE struts PUBLIC
        "-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
        "http://struts.apache.org/dtds/struts-2.5.dtd">

<struts>
    <package name="default" extends="struts-default">
        <action name="hello" class="com.example.HelloWorldAction">
            <result>/hello.jsp</result>
        </action>
    </package>
</struts>

(4) Vue des résultats (hello.jsp)

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Hello, Struts2</title>
</head>
<body>
    <h1>Hello, <s:property value="name"/>!</h1>
    <!-- 其中<s:property>是Struts2的标签,用于显示Action类的属性值 -->
</body>
</html>

Grâce à l'exemple ci-dessus, nous pouvons voir comment fonctionne l'ensemble de Struts2 : l'utilisateur saisit sur la page frontale Nommez et soumettez le formulaire, la requête est interceptée par DispatcherServlet, le contrôleur principal du framework Struts2, et mappée à la méthode d'exécution de la classe HelloAction. Après cela, Struts2 exécutera la chaîne d'intercepteur et appellera la méthode Action pour traiter la requête. Dans la méthode d'exécution de HelloWorldAction, la chaîne SUCCESS est renvoyée, indiquant que la demande a été traitée avec succès. Ensuite, Struts2 sélectionnera la vue de résultat correspondante hello.jsp pour le rendu et affichera la valeur de l'attribut de nom renvoyée via la balise

Conclusion :
En analysant en profondeur le principe de fonctionnement du framework Struts2, nous comprenons sa conception basée sur le modèle MVC et le rôle des composants principaux. À l'aide d'exemples de code concrets, nous démontrons comment le framework Struts2 fonctionne et est configuré. Comprendre le fonctionnement de Struts2 nous aidera à mieux utiliser ce framework pour le développement d'applications Web.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn