Skip to content

lauraophelie/projet_web_dynamique

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

109 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Framework

Pré - requis

  • JDK version 8
  • Tomcat version 8

Mise en place

Le fichier framework.jar doit être placé dans le dossier "lib/" du projet Tomcat

Le fichier gson.jar doit aussi être placé dans le dossier "lib/" du projet Tomcat

web.xml

<servlet>
    <servlet-name>FrontServlet</servlet-name>
    <servlet-class>etu1885.framework.servlet.FrontServlet</servlet-class>
    <init-param>
        <param-name> sessionName </param-name>
        <param-value> isConnected </param-value>
    </init-param>
    <init-param>
        <param-name> profileName </param-name>
        <param-value> profil </param-value>
    </init-param>
</servlet>
<servlet-mapping>
    <servlet-name>FrontServlet</servlet-name>
    <url-pattern>*.do</url-pattern>
</servlet-mapping>
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>

Annotations

@URLs

chaque fonction est de type ModelView et est annotée @URLs, dans chaque fonction de type ModelView on utiliser la fonction setView() ( de type String) pour définir la vue pour le RequestDispatcher et c'est aussi dans la fonction de type ModelView qu'on utilise la fonction addItem() pour définir l'attribut de la requête et la valeur de l'attribut

Exemple :

        @URLs(url="emp-find-all.do")
        public ModelView findAll() {

            ModelView mv = new ModelView();
            mv.setView("/liste-emp.jsp");   // le nom de la vue pour de RequestDispatcher

            Emp e1 = new Emp(1, "E1", 20000);
            Emp e2 = new Emp(2, "E2", 250000);

            List<Emp> e = new ArrayList<Emp>();
            mv.addItem("Liste-Emp", e);     // pour le request.setAttribute("Liste-Emp", e)

            return mv;
        }

@Parametre

pour une fonction de type ModelView qui contient des paramètres, chaque paramètre de la fonction doit être annotée @Parametre avec comme valeur le nom du paramètre, c'est la valeur de cette annotation qui sera ensuite récupérée pour pouvoir appeler la fonction

Exemple :

    @URLs(url="emp-find-by-id.do")
    public ModelView findById(@Parametre(param="id") int id) {
        ModelView mv = new ModelView();
        mv.setView("/details-emp.jsp");

        Emp e = null;

        if(id == 1) e = new Emp(id, "E1", 20000);
        if(id == 2) e = new Emp(id, "E2", 250000);

        mv.addItem("FicheEmp", e);
        return mv;
    }

@Scope

chaque class annotée scope est considéré comme un singleton et est ajouté à un hashmap dans la méthode init() de la class FrontServlet, et ce singleton ne sera instancié qu'une seule fois

Exemple

    @scope()
    public class Emp {
        . . .
    }

@Auth

l'annotation est utilisée lorsqu'une fonction nécessite un login et @auth prend également un paramètre au cas où la fonction nécessite un rôle particulier ( ex : admin)

Exemple

    @auth("admin")
    public ModelView save() {
        . . .
    }

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors