- JDK version 8
- Tomcat version 8
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
<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>
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;
}
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;
}
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 {
. . .
}
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() {
. . .
}